XSS通关技巧

目录

第一关:

第二关:

第三关:

第四关:

第五关:

第六关:

第七关:

第八关:

第九关:

第十关:

第十一关:

第十二关:

第十三关:

xss.pwnfunction.com练习题

第一关:


第一关:

我们修改name后面的值,发现直接传到html,说明没做过滤,直接写脚本

第二关:

当我们再在地址栏输入脚本时,没反应

发现后端将代码转化为文本

打开控制台,直接闭合双引号,使用a" οnclick="alert(1),再点一下即可过关

也可以使用闭合尖括号

第三关:

再使用闭合双引号发现没反应了

查看控制台,发现双引号已经逃逸出来,但是格式不太对

打开后端代码发现:肯定是这个函数的问题,

htmlspecialchars,这个函数会让特殊字符转换为HTML文本,就将这里的双引号转化为文本了

但是可以看出,函数使用单引号包围,我们再用单引号发现就可以了

第四关:

发现后端代码就只是过滤了闭合尖括号

但为了不和用户交互,我们使用两个事件,autofocus 和 onfocus

a" autofocus οnfοcus="alert(1)"

直接过关

第五关:

发现直接过滤 on 和 script,但是没有过滤<>

strtolower:会忽略大小写,所以大小写混淆也不行

我们直接使用<>闭合:aaa"><a href="javascript:alert(1)">aaa</a>

再点击链接直接过关

第六关:

发现过滤了很多,但是没有过滤大小写加<>闭合

aa"> <Script>alert(1)</Script>

直接通关

第七关:

查看后端代码,发现没有过滤双写,直接双写on即可通关

第八关:

发现是一个链接,直接写没用,所以用HTML编码

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(3)

第九关:

再使用第八关的编码发现被它识别了

查看后端便知道,有一个检测链接头部

所以我们直接加上http://如果加在尾部需要在前面加//

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(3)//http://

第十关:

发现没有任何地方下手,查看html代码

发现有三个输入标签,但是没有显示,在地址栏测试发现只有t_sort才能正常显示

那直接在地址栏输入或者文本框输入都行

keyword=aaa&t_sort=a"οnclick=alert(1)%20type=text

第十一关:

发现后端代码有个http-referer

那直接用火狐的扩展HackBar

a"οnclick=alert(1) type="text

第十二关:

和第十一关一样,只是换成了user-agent

第十三关:

还是一样换成了cookies

user=a" οnclick=alert(1) type="text

xss.pwnfunction.com练习题

第一关:

直接传参:

?somebody=<img%20src=1%20οnerrοr=alert(1337)>

相关推荐
不爱学英文的码字机器5 小时前
重塑 Web 性能:用 Rust 与 WASM 构建“零开销”图像处理器
前端·rust·wasm
浩星5 小时前
react的框架UmiJs(五米)
前端·javascript·react.js
子醉7 小时前
推荐一种适合前端开发使用的解决本地跨域问题的办法
前端
Niyy_7 小时前
前端一个工程构建多个项目,记录一次工程搭建
前端·javascript
xiangxiongfly9158 小时前
CSS link标签
前端·css
岁月宁静9 小时前
AI 多模态全栈应用项目描述
前端·vue.js·node.js
nn_(nana)10 小时前
修改文件权限--- chmod ,vi/vim,查看文件内容,yum-软件包管理器,systemctl管理系统服务
前端
烛阴10 小时前
从零开始掌握C#核心:变量与数据类型
前端·c#
han_11 小时前
前端高频面试题之Vuex篇
前端·vue.js·面试