Межсайтовый скриптинг, неприятности - PullRequest
2 голосов
/ 02 декабря 2010

Я готовлюсь к выпускному экзамену в классе и пытаюсь решить домашние задачи.Это один из них, в котором я впервые получил нулевой кредит.

Цель этого упражнения состояла в том, чтобы создать URL-адрес, указывающий на страницу с HTML-кодом ниже, а не показывать политику сотрудничестваПредполагается, что будет показана моя собственная, созданная пользователем политика сотрудничества.

Попытка выполнить следующее безуспешно ...

Экранировать это

<script>document.getElementById('collab').firstChild = 'test';</script> 

используя этот веб-сайт http://www.xs4all.nl/~jlpoutre/BoT/Javascript/Utils/endecode.html

и добавил его следующим образом ... www.cs.edu/vulnerable.html/?[insert экранированный скрипт здесь], и он не работал.Любые идеи о том, где я иду не так?

Вот HTML-код (уязвимый.html) для страницы, которую мы должны использовать.

<html><head>
<script>
function loaded() {
  var parsed = document.location.href.match(/\?(.*)/);
  if (parsed && parsed[1])
    eval(unescape(parsed[1]));
}
</script>
<title>Example Page Title</title></head>
<body onload="loaded()" bgcolor="#ffffff">
<font face="Arial,Arial,Helvetica">

<table border=0 cellspacing=4 cellpadding=4>
<tr>
<td valign=top width="20%" bgcolor="#ffff66">
&nbsp;<p>
&nbsp;<p>
&nbsp;<p>
<a href="home.html">
Home</a> <p>

Course description <p>
<a href="notes.html">
Lecture notes</a> <p>
<a href="assign.html">
Assignments</a> <p>
<a href="ref.html">
Reference</a> <p>
&nbsp;<p>
&nbsp;<p>
&nbsp;<p>

</td>

<td valign=top width=800>

<h2 align=center>
Example course title
</h2>
<p>
<h3 align=center>Fall 2010</h3>
<p>


<h2>Syllabus</h2>

Syllabus here...

<h2>Collaboration policy</h2>

<P id="collab">
All assignments are strictly individual.  No collaboration
is permitted.



</td>
</tr>
</table>

</font>
</body>
</html>

Ответы [ 2 ]

2 голосов
/ 02 декабря 2010

удалить теги скрипта из вектора.она устанавливается в eval функцию, которая запускает javascript, а не html.

Также вы хотите, чтобы ваш вектор был: document.getElementById('collab').innerHTML = 'test';

0 голосов
/ 02 декабря 2010

Эй, вы не должны ничего изменять на этой странице (даже eval).Страница уязвима, потому что она берет все, что добавлено в URL, и передает ее в функцию eval.Попробуйте назвать ваш сценарий с этим document.getElementById('collab').innerHTML="Very very wrong.Xss succeded" после вашей тестовой ссылки www.cs.edu/vulnerable.html/? (я имею в виду назвать это www.cs.edu/vulnerable.html/?document.getElementById('collab').innerHTML="Very very wrong.Xss succeded" и вместо этого `Политика сотрудничества

Все назначения строго индивидуальны. Сотрудничество не разрешено. you will see Политика совместной работы

Очень, очень неправильно. Xss завершился успешно
`Теперь представьте, что вы отправляете кому-то ссылку выше, и вместо того, чтобы вводить текст на этой странице, вы разрабатываете сценарий, который использует его куки, чтобы, скажем, Yahooпочта (если есть) ....

Редактировать: Кстати, хорошая домашняя работа: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...