ASP.NET的Server.HtmlEncode()或功能更强的Microsoft Anti-Cross Site
标签:
0x00 XSS缝隙简介人们经常将跨站脚本打击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本打击缩写为XSS。
跨站脚本打击是指恶意打击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入此中Web里面的Script代码会被执行,从而到达恶意打击用户的目的。
xss缝隙凡是是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss缝隙关键就是寻找参数未过滤的输出函数。
常见的输出函数有: echo printf print print_r sprintf die var-dump var_export.
xss 分类:(三类)
反射型XSS:?打击者事先制作好打击链接, 需要欺骗用户本身去点击链接才华触发XSS代码(处事器中没有这样的页面和内容),一般容易呈此刻搜索页面。
存储型XSS: 代码是存储在处事器中的,如在小我私家信息或发表文章等处所,插手代码,如果没有过滤或过滤不严,那么这些代码将储存随处事器中,每当有用户访谒该页面的时候城市触发代码执行,这种XSS非常危险,容易造成蠕虫,大量偷窃cookie(虽然还有种DOM型XSS,但是也还是包孕在存储型XSS内)。
DOM型XSS:基于文档东西模型Document Objeet Model,,DOM)的一种缝隙。DOM是一个与平台、编程语言无关的接口,它允许措施或脚本动态地访谒和更新文档内容、布局和样式,措置惩罚惩罚后的功效能够成为显示页面的一部分。DOM中有很多东西,此中一些是用户可以独霸的,如uRI ,location,refelTer等。客户真个脚本措施可以通过DOM动态地查抄和改削页面内容,它不依赖于提交数据随处事器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有颠末严格确认,就会孕育产生DOM XSS缝隙
0x01 挖掘思路没有过滤的参数,传入到输出函数中。
多存眷以下一些处所:
搜索内容
发表文章
留言
评论答复
资料设置
常见场景:
1:将前端获取的内容,直接输出到浏览器页面。

##2: 直接输出到HTML标签内
<? $content = $_GET['content']; ?> <input type="text" value="<?php echo $content?>">
这种是最常见的,我们需要闭合标签。
3:直接输出到先闭合前面 然后插入我们的payload
0x03 反射和存储的区别反射型:
输入-输出
存储型:
输入-进入数据库-取出数据库-输出
代码:
<?php $xss = $_GET['xss']; ?> <input type="text" id="text" value="<?php echo $xss;?>"> <div id="print"></div> <script type="text/javascript"> var text = document.getElementById("text"); var print = document.getElementById("print"); print.innerHTML = text.value; </script>payload:
?xss=<img src=http://www.mamicode.com/x onerror=alert(/xss/)>DOM-XSS的数据流向是:URL-->浏览器

1:在表单提交或者url参数通报前,对需要的参数进行过滤
例如:在项目的web.xml配置过滤器:
<filter> <filter-name>XssEscape</filter-name> <filter-class>XssFilter</filter-class> </filter> <filter-mapping> <filter-name>XssEscape</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>2:客户端做数据的验证与过滤,关键的过滤法式在客户端进行
3:过滤用户输入的 查抄用户输入的内容中是否有犯警内容。如<>(尖括号)、”(引号)、 ‘(单引号)、%(百分比标记)、;(分号)、()(括号)、&(& 标记)、+(加号)等。、严格控制输出
2020/1/29 PHP代码审计之XSS缝隙
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30911.html
- 上一篇: 但是并不会被提升
- 下一篇: 父组件 接收到 子组件的派发 后
