跨站点脚本攻击,麻烦

时间:2010-12-02 08:43:25

标签: javascript html dom xss

我正准备参加我的期末考试,并试图重写作业问题。这是我第一次获得零信誉的其中一个。

此练习的目标是创建一个指向下面带有HTML的页面的URL,而不是显示预期的协作策略,它将显示我自己的,用户创建的协作策略。

未成功尝试以下内容......

逃脱此

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

使用本网站 http://www.xs4all.nl/~jlpoutre/BoT/Javascript/Utils/endecode.html

并像这样添加... www.cs.edu/vulnerable.html/?[insert escaped script here]并没有用。关于我在哪里出错的任何想法?

以下是我们要利用的网页的HTML代码(vulnerability.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 个答案:

答案 0 :(得分:2)

从vector中删除脚本标记。它被放到运行javascript的eval函数中,而不是html。

此外,您希望您的矢量为: document.getElementById('collab').innerHTML = 'test';

答案 1 :(得分:0)

嘿,你不应该在那个页面上修改任何东西(甚至不是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成功了 ` 现在想象一下你将上面的链接发送给某人,而不是在该页面上注入一个harmelles文本,你会详细说明一个加载他的cookie的脚本,以免说雅虎邮件帐户(如果它有一个)....

编辑: 顺便说一句好作业:D