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

相关推荐
掘金安东尼9 分钟前
CSS 颜色混乱实验
前端·javascript·github
Zhen (Evan) Wang12 分钟前
.NET 6 文件下载
java·前端·.net
前端码农.14 分钟前
Element Plus 数字输入框箭头隐藏方案
前端·vue.js
李游Leo20 分钟前
npm / yarn / pnpm 包管理器对比与最佳实践(含国内镜像源配置与缓存优化)
前端·缓存·npm
Mintopia31 分钟前
轻量化AIGC模型在移动端Web应用的适配技术
前端·javascript·aigc
Mintopia31 分钟前
Next.js CI/CD 基础(GitHub Actions)
前端·javascript·next.js
Wiktok2 小时前
pureadmin的动态路由和静态路由
前端·vue3·pureadmin
devii662 小时前
html.
前端
掘金安东尼2 小时前
为什么浏览器要限制 JavaScript 定时器?
前端·javascript·github
学前端搞口饭吃2 小时前
react context如何使用
前端·javascript·react.js