xss-labs5--20

level5

herhtrhtehretth这一关on和<script>会被强制使用下划线分隔,所以前面关卡的代码不能通过这一关。

所以这一关利用javascript伪协议进行绕过

javascript伪协议:JavaScript 伪协议是一种特殊的 URL 协议,允许在 href 或者其他属性中直接执行 JavaScript 代码。通常情况下,当浏览器遇到以 "javascript:" 开头的 URL 时,会立即执行后面的 JavaScript 代码。这种协议通常用于在 HTML 中直接嵌入简单的 JavaScript 代码或者执行一些动作。

构造代码"><a href=javascript:alert(/heihei/)>即可

这里提交后要点击一个蓝色的》才会提示成功。

level6

这一关在之前的基础上herf也被过滤掉了,但检查源代码,可以发现这一关没有过滤大小写,所以一个大小写配合使用便可狠狠拿捏它。

level7

这一关script直接变成了空值,也就是检测到有script等关键字符直接替换成了空值。需要用到双写来进行绕过了。

构造代码:"><sscriptcript>alert('xss')</sscriptcript>

在原来的script之中的任意一个地方直接加入一个script,注意这个加入的script不能分开,识别到后这个加入的script会被替换成空值,剩下的部分自动拼接,执行时空格会被自动忽略。

level8

这一关对大小写、特殊字符、单双引号进行了过滤处理

可以使用编码绕过

这里使用unicode编码转换

构造代码:java&#115;&#99;&#114;&#105;&#112;&#116;:alert(/xss/)

之后点击友情链接显示过关。

level9

这一关还有上面的对各种关键字的过滤,同时还利用了strpos函数进行验证,但是没有检测编码后代码的相关限制,所以还可以利用上一关的思路编码来绕过。将关键字javascript中的部分字符用编码代替

构造代码:javasc&#x72;&#x69;pt:alert('xsshttp://')

同点友情链接显示过关。

level10

type=hidden使得对话框不能显示在页面上,要先把输入框搞出来,点击F12进入开发者模式,把type=“hidden”>这些删去,页面上即可显示出输入框。

之后在输入框里构造代码:?keyword=nul&t_sort=" type="text" οnclick="alert('xss')

之后再次点击输入框边可提示完成的不错!
 

level11

和第十关差不多,知识又多了个t-ref:

用第十关的:"type='text' onclick="javascript:alert(/xss/)即可。 

level12

同上面两关的步骤一样,先把type里面的hidden改为text使显出输入框,之后在框里输入"οnmοuseοver="alert(1),之后把前后面的单引号改为双引号,之后再改value后面的为text。

level13

这一关相比于前面的关卡多出来一个t_cook,与cookie有关

bp抓包修改里面的cookie

倒数第二行改为

之后点击Forward即可

level14

迷惑!!??

level15

页面上没有任何有用的信息,查看源代码

里面的ng-include函数相当于php的include函数

`ng-include` 是 AngularJS 框架中的一个指令,用于在 AngularJS 应用程序中包含外部 HTML 文件或视图模板。通过使用 `ng-include` 指令,可以将外部的 HTML 内容动态地包含到当前页面中,实现页面模块化和重用。

以下是 `ng-include` 指令的基本用法和语法:

```html
<div ng-include="'path/to/template.html'"></div>
```

在上面的示例中,`ng-include` 指令会将 `path/to/template.html` 文件的内容加载并插入到包含该指令的 `<div>` 元素中。这样可以实现页面模块化,将页面拆分为多个模块或组件,便于管理和维护。

在实际应用中,`ng-include` 可以用于动态加载导航栏、侧边栏、页脚等通用的页面部分,也可以用于加载动态内容或根据条件加载不同的模板文件。

需要注意的是,`ng-include` 是 AngularJS 提供的一种简单但强大的模板包含机制,但在 AngularJS 之后的版本中(如 Angular 2+),这种方式可能已经被更先进的组件化和模块化方式所取代。因此,如果你正在使用较新版本的 Angular,可能会有更好的替代方案来实现类似的功能。

构造代码:'level1.php?name=<a href="javascript:alert(/xss/)">'

点击下面的蓝色字体便可

level6

在url中构造payload,发现script和/没了

而且用上一关的:<img src=1 onerror=alert("xss")>
发现空格已经被实体化了

把空格进行编码:%0a

构造代码:<img%0asrc%0a1%0aοnerrοr=alert('xss')>

level17

这一关是通过arg01和arg02进行传参

直接构造代码:arg01=a&arg02=b%0aοnmοuseοver=alert(1)

level18

与level17步骤相同.

level19

这一关比前面在src处多了双引号

想要成功通过这一关需要闭合标签,

htmlspecialchars()函数进行处理

htmlspecialchars() 是一个常用的 PHP 函数,用于将特殊字符转换为 HTML 实体,以防止 XSS(跨站脚本攻击)等安全漏洞。这个函数将对以下字符进行转换:

  1. & (和号)转换为 &amp;
  2. " (双引号)转换为 &quot;
  3. ' (单引号)转换为 &#039;
  4. < (小于号)转换为 &lt;
  5. > (大于号)转换为 &gt;

构造:arg01=version&arg02=<a href='javascript:alert(/xss/)'>xss</a>

level20

和前一关相似,构造:arg01=id&arg02=\"))}catch(e){}if(!self.a)self.a=!alert(1)//%26width%26height

XSS-labs是一个用于学习和测试跨站脚本攻击(XSS)的平台。根据引用\[1\],在学习了XSS的基础知识并完成了一些简单的XSS测试后,可以开始攻略XSS-labs。不过需要注意的是,对于XSS-labs,我们只需大致了解一些思路即可,因为在实际的应用中,很少会有这种复杂的情况,但在CTF比赛中可能会更常见。 根据引用\[2\],XSS-labs的安装和下载可以通过相关的渗透测试平台或者从官方网站获取。安装完成后,可以开始进行XSS攻击的实践。 在XSS-labs中,可以通过构造特定的payload来触发XSS漏洞。根据引用\[2\]和\[3\]的示例,可以使用ng-include或者src参数来构造包含XSS漏洞的URL。例如,可以构造一个类似于以下的payload来触发XSS漏洞: src='level1.php?name=<a type="text" href="javascript:alert(1)">' 或者 127.0.0.1/xss-labs/level15.php?src='level1.php?name=<a href="javascript:alert(/xss/)">' 通过构造合适的payload,可以利用XSS-labs平台进行XSS攻击的实践和学习。请注意,在实际应用中,XSS攻击是违法行为,请遵守法律法规并仅在合法授权的情况下进行安全测试。 #### 引用[.reference_title] - *1* *2* [渗透学习-靶场篇-XSS-labs(持续更新中)](https://blog.csdn.net/qq_43696276/article/details/127024861)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [xss-labs搭建及通关攻略](https://blog.csdn.net/K_ShenH/article/details/122765092)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值