2010-12-02 17 views
2

私はクラスの最終試験の準備をしており、宿題の問題を解決しようとしています。これは私が初めてゼロクレジットを獲得したことの1つです。クロスサイトスクリプティング攻撃、トラブル

この練習の目標は、下のHTMLを示すページを指すURLを作成し、意図したコラボレーションポリシーを表示するのではなく、自分で作成したユーザー作成コラボレーションポリシーを表示することでした。

が成功せずに次のことをしようと...

は、このウェブサイトに http://www.xs4all.nl/~jlpoutre/BoT/Javascript/Utils/endecode.html

を使用して、この

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

を脱出し、このようにそれを追加しました... www.cs.edu /vulnerable.html/?[ここにエスケープされたスクリプトを挿入]しても機能しませんでした。私がどこに間違っているのかについてのアイデアはありますか?

私たちが悪用しようとしているページの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を実行して送信するJSの部分をテストすることができます。 –

+2

私はそのような宿題を与えられたことを望みます。 – naugtur

答えて

2

ベクターからスクリプトタグを削除します。それはevalに置かれ、htmlではなくjavascriptを実行する関数です。ねえ、あなたはそのページ(もないのeval)には何も変更しないべきではありません document.getElementById('collab').innerHTML = 'test';

+0

よろしくお願い致します。 – user527627

+0

@ user527627:役に立つと分かっている場合は、アップホート/回答を受け入れる必要があります – darioo

0

また、あなたはあなたのベクトルになりたいです。このページは、URLに追加されたすべてのものを取り込み、それを評価関数に渡すため、脆弱です。あなたのテストのリンクwww.cs.edu/vulnerable.html/?(私が意味するすべての割り当ては厳密に個々のです。何コラボレーションが許可されていないこのwww.cs.edu/vulnerable.html/?document.getElementById('collab').innerHTML="Very very wrong.Xss succeded"、代わりに `コラボレーションポリシー

を呼び出した後、このdocument.getElementById('collab').innerHTML="Very very wrong.Xss succeded"でスクリプトを呼び出すようにしてください。you will see コラボレーションポリシー

非常に非常に間違っています.Xss succeded
` あなたは上記のリンクを誰かに送信し、そのページにハエルステキストを注入する代わりに、あなたのクッキーをスチールするスクリプトを精巧に作成するのではなく、yahooメールアカウント(もしあれば)... 。

編集: 途中で素敵な宿題:D