当前位置: 首页 > article >正文

xss-labs level 10-20

1.level 10

观察到输入内容只在文本内出现,属性相应位置没有获取到输入内容

换个标签试试

<img scr=1>

一样的结果

仔细观察代码,可以看到有form表单下有三个隐藏的input框

换一下注入点

t_link没有反应

t_history也没获得输入字符

只有t_sort收到传参

但是它卡掉了<>

怀疑和之前几关的函数相同

但是闭合双引号还是被卡掉了

换用事件方法

但是考虑到onclick事件需要点击输入框,必须把hidden标签解决掉

所以加一个text标签试试能不能覆盖hidden

果然可以被覆盖掉

通关暗语:

?t_sort="type='text' onclick='javascript:alert(1)'

也就是说,type的规则是会优先考虑前面的属性

2.level 11


观察form表单,发现只有t_ref有值

先试一下前三个看看

都没有反应

t_ref的值也没有了

t_ref是上一关url栏的内容,回到上一步level 10重新跳转并抓包

修改referer为上一关payload

"type='text' onclick='javascript:alert(1)'

修改后会显示t_ref的框框

点击后弹窗

3.level 12

查看隐藏表

这回有值的是t_ua就是User-Agent的缩写

没想到也没关系,再次抓包

和上一关一样

出现搜索框

4.level 13

根据经验可以直接找到t_cook

由cook想到cookie

抓包,改cookie

出现搜索框框

5.level 15

发现输入的内容会出现在ng-include里

ng-include是什么?

    ng-include 是AngularJS中的一个指令,它用于在指定的DOM元素中动态地包含另一个HTML文件或AngularJS模板。可以使用它来动态地加载和渲染不同的视图或内容片段。

    使用 ng-include 的基本语法如下:

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

    或者,可以使用AngularJS的表达式来动态地决定要包含的模板:

<div ng-include="templateUrl"></div>

    在上面的例子中,templateUrl 是一个AngularJS作用域中的变量,它包含了要包含的模板的URL。

    ng-include 指令也可以接受一个带有额外选项的对象,例如:

<div ng-include="{'templateUrl': 'template.html', 'onload': 'myCallback'}"></div>

在这个例子中,myCallback 是一个当模板成功加载后将被调用的函数。

构造:

'level1.php?name=<a href="javascript:alert(1)">'

6.level 16

试试超链接标签

发现空格被编码(html实体编码名称)

绕过,构造:

<a%0Aonclick='alert(1)'>

点击界面

7.level 17

这关在google上可以通过

用一个onmouseover事件,在鼠标经过页面时即弹窗

构造:

‘onmouseover='alert(1)'

8.level 18

和上一关相同

9.level 19

flash漏洞

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

10.level 20

flash漏洞

arg01=id&arg02=\"))}catch(e){}if(!self.a)self.a=!alert(1)//%26width%26height


http://www.kler.cn/a/271318.html

相关文章:

  • Lua-Lua与C++的交互2
  • Redis远程连接本机——Docker
  • PDF Expert:强大注释与批注功能,让PDF阅读更高效
  • springboot整合swagger,postman,接口规范
  • java serlvet 高校学生画像平台系统Myeclipse开发mysql数据库web结构java编程计算机网页项目echarts图形展现
  • 算法训练营day50(补),单调栈2
  • MySQL安装(Mac系统)
  • 智慧城市与数字孪生:共创未来城市的智慧生活
  • HCIP—OSPF课后练习一
  • 实现HBase表和RDB表的转化(附Java源码资源)
  • 由浅到深认识C语言(11):结构体
  • nginx多级代理配置获取客户端真实ip
  • 【运维】StarRocks数据迁移到新集群(针对于集群互通、不互通的情况)
  • Kubernetes kafka系列 | k8s部署kafka+zookeepe集群(可外部通信)
  • 15.7k stars一个实用型OCR,支持80多种语言
  • Day39:安全开发-JavaEE应用SpringBoot框架Actuator监控泄漏Swagger自动化
  • 如何保存缓存和MySQL的双写一致呢?
  • 图解缓存淘汰算法 LRU、LFU | 最近最少使用、最不经常使用算法 | go语言实现
  • 数据可视化-ECharts Html项目实战(1)
  • 24计算机考研调剂 | 南昌航空大学