上周在网上看到的一个XSS平台,刷一波《doge

Less - 1:

1.进入主界面,由图二可知是GET请求,提交name=test,回显在页面

2.查看源代码可知

没有做任何过滤,显然存在反射型XSS漏洞

3.构造payload

<script>alert(/xss/)</script>

  

 Less - 2:

1.在输入框输入的数据回显在上方

2.试试上一关的payload

3.查看源代码

发现被包在value中,因此进行闭合构造

4.payload

"><script>alert(/xss/)</script>

 Less - 3:

1.按照第二关进行尝试并查看源码,发现$str被转义,对尖括号进行了过滤

2.因此可以构造标签事件进行过滤,在input标签中构造onfocus事件触发XSS

3.payload

' onfocus=javascript:alert(1) '

  

 

Less - 4:

第四关原理同第三关,过滤的时候注意单引号改成双引号即可

 

Less - 5:

1.带入第四关的payload观察源代码,

2.有源代码可知on,script都不可用而且strtolower()函数导致大小写绕过失效

因此考虑用构造a标签再尝试利用a标签的href属性执行javascript:伪协议

3.payload构造

"><a href='javascript:alert(1)'>

 

Less - 6:

1.带入"><a href='javascript:alert(1)'>发现失效,查看源代码

href等标签均失效,但相比于上一关,少了strtolower()函数,因此考虑大小写绕过

2.构造payload

"><sCript>alert(1)</sCRipt>

 

Less - 7:

1.带入"><sCript>alert(1)</sCRipt>发现依旧失效,查看源代码

将某些标签直接被空白代替,因此考虑使用双写绕过

2.构造payload

"><scrscriptipt>alert(1)</scrscriptipt>

 

Less - 8:(存储型XSS)

1.添加链接,先用javascript:alert(1)试一波,查看源代码可知,常见字段都被加下划线,

2.构造payload(注意:要在url栏中输入)

javascrip%0at:alert(1)

 原理:

href属性引号中的内容可以使用空字符、空格、TAB换行、注释、特殊的函数,将代码隔开。 如:javas%09cript:alert()、javas%0acript:alert()、javas%0dcript:alert()。这些特殊字符在href中不会破坏原有的代码执行。

因为这里直接在输入框输入url编码的数据会被再次编码,所以我们在url直接提交,使用%0a(换行符)隔开

3.提交成功后,当鼠标指向“友情链接”,可以看到左下角出现了我们的JavaScript伪协议代码,点击后就会运行代码。

法二:html转换

1.

2.将javascript:alert(1)进行转换

javascript:alert(1)

3.此时需要带入输入框

Less - 9:

1.查看源代码可知,输入的必须含有http://

2.根据上一题的payload可做如下构造

javascrip%0at:alert('xss')<!--http://-->
javascrip%0at:alert('xss')//http://
javascrip%0at:alert('xss')/*http://*/

 

Less - 10:

1.查看源代码,可能有隐藏的表单,尝试提交t_link、t_history、t_sort变量,t_sort变量返回在了html的value中,但是过滤了尖括号

2.构造payload,点击按钮即可

&t_sort=click~~~" type="button" onclick="javascript:alert(1)  

最新文章

  1. Codeforces 731C Socks 并查集
  2. linux Makefile obj-m obj-y
  3. GOF设计模式特烦恼
  4. 开启MySQL日志
  5. C# 使用lock关键字lock不同的对象
  6. Struts2+Jquery实现ajax并返回json类型数据
  7. iOS网页开发技术总结
  8. 查看MySQL的警告信息
  9. 工作中的 Vim 和 git
  10. HCTF2016-杂项签到
  11. erlang 练手 进程环
  12. 阿里云部署Docker(5)----管理和公布您的镜像
  13. node配置运行环境变量;
  14. wp加载本地HTML(附带图片,CSS,JS)
  15. Android While 循环导致的资源占用过高进而导致程序崩溃问题
  16. IOS开发创建开发证书及发布App应用(九)——等待审核(审核几种状态)
  17. openstack pike 创建vxlan网络
  18. ABP问题速查表
  19. git多个远程仓库
  20. 洛谷SP22343 NORMA2 - Norma(分治,前缀和)

热门文章

  1. Java8遍历Map、Map转List、List转Map
  2. latex参考文献删除[.s.l],[.s.n]
  3. Python定时任务利器—Apscheduler
  4. dataframe,list,numpy之间的互相转换
  5. Sentinel Dashboard(基于1.8.1)流控规则持久化到Nacos——涉及部分Sentinel Dashboard源码改造
  6. Oracle数据导入Mysql中
  7. python 安装相关
  8. antdv的Upload组件实现前端压缩图片并自定义上传功能
  9. [日常摸鱼]bzoj3224普通平衡树-Treap、Splay、01Trie、替罪羊树…
  10. 2、MyCat读写分离