ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

XSS LABS - Level 关卡

XSS LABS - Level 关卡 安全声明本文所有代码与 payload 仅用于本地靶场如 pikachu、DVWA 等的合法安全测试与学习请勿在任何环境中执行任何代码。擅自对他人系统发起攻击属于违法行为后果自负。第一关scriptalert(XSS)/script第2关输入scriptalert(1)/script后发现输入的语句被完整地返回回来了接着查看源代码F12 发现所以尝试重新闭合语句形成input ..... value/完整语句后面的不会被检测。构造 payload/scriptalert(1)/script第三关输入攻击载荷发现被转译了既然发现用不了script那就试试事件触发器比如onfocus事件在元素获得焦点时触发或者onmouseover鼠标点击就会被触发。输入onmouseoverjavascript:alert(1)后观察源代码发现input语句里面少一个单引号闭合单引号 οnmοuseοverjavascript:alert(1)第四关通过输入script发现被转译了那就试试οnmοuseοverjavascript:alert(1) 发现成功载荷οnmοuseοverjavascript:alert(1)第五关插入script和on事件 发现script 和on 被过略成o_n形式输入1 查看input,发现为尝试a 标签 href 伪协议 如a hrefhttps://www.baidu.com /a当点击a标签的时候,就会跳转到百度的网站,很多跳转链接就是基于href标签完成所以构建的payload 为/a hrefjavascript:alert(1)xxx/a第六关尝试插入script和on事件 和a href发现均被过略尝试大小写发现网站对大小写敏感利用大小写payload ://第一种脚本注入/SCRIPTalert()/SCRIPT//第二种焦点事件/ONDOCUSjavascript:alert()//a标签href属性的/aHREFjavascript:alert()x/a第七关查看源代码发现script被删除猜测是双写绕过payload:/scrscriptiptalert(1)/scrscriptipt第八关a href标签法:a href .......友情链接/a这个友情链接/a友情链接相当于标签a的指定按钮 点击友情链接 … 里面的东西会被执行如ahrefhttps://www.baidu.com/a当点击a标签的时候,就会跳转到百度的网站,很多跳转链接就是基于href标签完成观察网页 友情链接 猜测前端使用了a href .......友情链接/a的标签…为要输入的东西查看源代码发现输入的123被填到标签里面确定使用了标签但是当再次插入伪协议a hrefjavascript:alert()友情链接/a发现被过略这里就想到a href标签可以自动解析Unicode编码 当在href标签用Unicode符号时,点击href会自动进行Unicode解码所以我们只需要把伪协议javascript:alert()转换成Unicode符号就可以了第九关还是一样链接模式输入1试试判断是不是做了http://头的判断成功接下来要把http://注释掉否则无法执行伪协议 把http://放到后面注释掉payload#106;#97;#118;#97;#115;#99;#114;#105;#112;#116;#58;#97;#108;#101;#114;#116;#40;#49;#50;#51;#41;/* http:// */成功第十关点进去发现没有找到输入框查看源代码发现input value typehiddentype“hidden” 类型hidden 隐藏类型在页面上不可见常用于 传递服务器端数据到客户端 表单安全令牌CSRF token 会话标识 页面状态信息正常是为 type“text” 表示文本输入框并且显示typetext不会显示在代码中查看源代码 hidden类型提前 t_link123t_history122t_sort123编写url发现只要t_sort123被执行其他不可执行确认payload t_sort“οnfοcusjavascript:alert() typetext”onfocus前面的双引号是闭合value 让onfous形成一个单独的事件第十一关和上一关一样但是发现双引号无法逃逸可以看到input namet_ref这里面是http头referer的参数就是由哪个地址转跳到这里的http头的referer会记录有并且发现url框 消失了无法输入所以这里利用了bp进行抓包到referer里面进行注入就可以了因为referer的作用是流量来源分析直接用bp进行抓包把请求头放到重放器里面但是没有Referer请求头我们要自己构造一个Referfer: οnfοcusjavascript:alert() type“text”第十2关和上一关思路一样查看源代码这里太明显了,这肯定是User-Agent头直接抓包并修改请求头改为我们的payload: οnfοcusjavascript:alert() typetext第十三关发现为Cookie请求头注入和上面一样 构造payload: οnfοcusjavascript:alert(1) type“text” 注入点击输入框即可第十四关有bug直接跳过第十五关源代码 这里 ng-include 是文件包含的意思这里发现地址栏上面与源代码里面一样所以直接在url输入就行 但是网址要带上双引号http://192.168.14.11/xss/level15.php?src%22http://192.168.14.11/xss/level1.php%22 成功跳转构建第一关payload 发现script被过略 利用直接弹窗的形式img src1 onmouseoveralert()完整payloadhttp://192.168.14.11/xss/level15.php?src%22http://192.168.14.11/xss/level1.php?name%3Cimg%20src1%20οnmοuseοveralert()%3E%27第十六关查看发现可以在url注入输入大杂烩ahRef“javaScript:alert(1)”οnmοuseοver“alert(2)”onOnmouseover“alert(3)”test发现只是将空格编码了所以尝试**用换行替换空格的方式进行绕过可以先将换行进行url编码%0D%0A因为在html中换行和多个空格都是按照一个空格进行处理的然后测试**尝试发现可以构建payload: img%0Dsrc1%0Dοnmοuseοveralert()第十七关观察url和源代码可以发现当arg2时下面源代码也在发生变化既然ab那直接使用 οnfοcusjavascript:alert() 事件构造payload: arg01 onfocusarg02javascript:alert()**第十八关**和上一关一摸一样总结payloadscriptalert()/scriptonmouseoverjavascript:alert(1)在点击时候即可触发a hrefjavascript:alert(1)xxx/a当点击a标签的时候,就会跳转到百度的网站,很多跳转链接就是基于href标签完成a href标签可以自动解析Unicode编码文章里面有问题跟我说就好
返回列表