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)>

相关推荐
小飞悟4 分钟前
🎯 什么是模块化?CommonJS 和 ES6 Modules 到底有什么区别?小白也能看懂
前端·javascript·设计
浏览器API调用工程师_Taylor5 分钟前
AOP魔法:一招实现登录弹窗的全局拦截与动态处理
前端·javascript·vue.js
FogLetter6 分钟前
初识图片懒加载:让网页像"懒人"一样聪明加载
前端·javascript
微客鸟窝7 分钟前
一文搞懂NVM管理Node.js:从安装到实战全攻略
前端
归于尽8 分钟前
Cookie、Session、JWT 的前世今生
前端
程序员辉哥9 分钟前
学会在Cursor中使用Rules生成代码后可以躺平了吗?
前端·后端
请你吃div14 分钟前
JavaScript 实用函数大全(超实用)
前端·javascript·面试
一个水瓶座程序猿.15 分钟前
Vue3 中使用 Vueuse
前端·javascript·vue.js
夏梦春蝉16 分钟前
ES6从入门到精通:Symbol与迭代器
前端·javascript·es6
一个水瓶座程序猿.19 分钟前
ES6数组的`flat()`和`flatMap()`函数用法
前端·ecmascript·es6