2010-12-02 97 views
2

我正在准备我的期末考试的一个班,并试图重写家庭作业问题。这是我第一次得到零信用的其中之一。跨站点脚本攻击,麻烦

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

尝试没有成功以下...

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

躲过了这场

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

,并添加像这样... www.cs.edu /vulnerable.html/?[insert转义脚本在这里]并没有奏效。关于我要去哪儿的任何想法都是错误的?

下面是我们假设要利用的页面的HTML代码(vulnerable.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> 
+0

作为一般的提示,使用萤火虫,看看它弄乱了。您可以通过在页面中的控制台中运行它来测试您发送的JS片段。 – 2010-12-02 09:03:16

+2

我希望能有这样的家庭作业。 – naugtur 2010-12-02 09:29:54

回答

2

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

而且你希望你的载体是: document.getElementById('collab').innerHTML = 'test';

0

嘿,你不应该修改页面(甚至没有EVAL)就没事。这个页面很脆弱,因为它需要在URL中添加那些永久的东西,并且传递它的评估函数。试着拨打这个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 succeded
` 现在想象你发送的链接上面有人和,而不是注射的是页面上的文本harmelles你阐述一个脚本,钢自己的cookie,免得说雅虎邮件帐户(如果有的话)... 。

编辑: 不错的功课顺便说一句:D