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

相关推荐
全栈前端老曹2 分钟前
【ReactNative】页面跳转与参数传递 - navigate、push 方法详解
前端·javascript·react native·react.js·页面跳转·移动端开发·页面导航
用泥种荷花1 小时前
【前端学习AI】Python环境搭建
前端
老华带你飞1 小时前
考试管理系统|基于java+ vue考试管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
_Kayo_1 小时前
React上绑定全局方法
前端·javascript·react.js
愈努力俞幸运1 小时前
chrome 扩展(插件)开发入门教程
前端·chrome
练习前端两年半1 小时前
【Vue3 高级技巧】函数重载+Watch:打造类型安全的通用事件监听 Hook
前端·javascript·vue.js
一只小鸟儿2 小时前
门户短信发送验证码及验证功能
前端·javascript·jquery
elangyipi1232 小时前
pnpm :下一代包管理工具的原理与实践
前端·npm
代码的奴隶(艾伦·耶格尔)2 小时前
Sentinel限流熔断
java·前端·sentinel
talenteddriver2 小时前
mysql: MySQL中between子句和limit子句的区别
前端·javascript·数据库