初学者xss-labs通关挑战1-5

1.xss的基本概念

跨站脚本攻击xss(cross site scripting),为了不和层叠样式表(cascading style sheets)的缩写混淆,故将跨站脚本攻击缩写为xss。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击。

2.xss分类

分类可以分成三类:反射型xss、dom型xss、存储型xss

反射型xss又称非持久xss,这种攻击往往具有一次性

存储型xss又称持久xss,攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性

dom型xss全称document object model,dom文档对象模型,使用dom动态访问更新文档内容、结构及样式

3.input标签属性

name名称属性:元素的名称,也就是名称的值代表当前输入元素的名字

value属性:元素的默认值
1)当input type=“text”、“password”、“hidden”时,定义输入字段的初始值

2)当input type=“button”、“reset”、“submit”时,定义按钮上显示的文本

2)当input type=“checkbox”、“radio”、“image”时,定义与输入相关的值

网页上输入https://xssaq.com/yx/开始挑战

level1-无过滤机制

看到/level1.php?name=test

//问号?用来查询参数,欢迎用户test,payload的长度(test)长度为4

那么对name=test的test修改会看到payload的长度在变化

按f12看源代码

没有任何防护的所以我们在test这个地方输入语句他就会有响应

试试构造xss漏洞并验证

那么/level1.php?name=<script>alert(/xss/)</script>

//将test的值换了,组成的<script>alert(/xss/)</script>的alert( )括号的内容可输入不同的内容

显示通过了

level2-闭合标签

那么像第一关那样输入<script>alert(/xss/)</script>看看会发生什么

看看源代码

这青色的 vlaue的值为 "<script>alert(/xss/)</script>" 黑色的 >与<input >相联

那么这里可看到,在input的value值前后有双引号

根据sqli-labs的经验,添加">和<"来绕过

将<input name=keyword  value="<script>alert(/xss/)</script>">构造成这样

变为<input name=keyword  value=""><script>alert(/xss/)</script><"">

那么将网页这么输入

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

通过

level3-单引号闭合

试试输入"><script>alert(/xss/)</script><"

并没有反应,那么看看源代码怎么样的吧

跟在文本框输入后的源代码比较

发现"还有<和>被转义了

双引号"被转义为&quot;

小于号<被转义为&gt;

大于号>被转译为&lt:

那么试着构造一个带单引号的xxs漏洞验证代码并验证

了解到html事件属性

试试onclick看看会不会通过

' οnclick=alert('test') '

从属性onclick开始试,那么这发的是onmouseover的时候成功例子

输入'οnmοuseοver='alert(/xss/)

level4-双引号闭合

看看源代码value值那像双引号闭合代码

先试试输入上一关成功的代码看看会发生什么

没怎么被闭合那么试试将单引号换成双引号吧

"οnmοuseοver="alert(/xss/)

构成源代码如图,看vlaue值

那么成功显示完成的不错啦

less5-创建标签

那么按照惯例看看源代码吧

输入上一关通过的"οnmοuseοver="alert(/xss/)看看会发生什么

那么发现on之间被加了_也就是被过滤了,然后vlaue像双引号闭合,那么根据sqli-labs的经验用双写也就是"oonnmouseover="alert(/xss/)发现还是没通,value=""oo_nnmouseover="alert(/xss/)"也许要考虑别的方式了

对此,我们可测试其他关键字语句比如<a href="javascript:alert(/xss/)">在加上"> <"构成闭合语句那么就像这样,输入"><a href="javascript:alert(/xss/)">xss</a><"

源代码为

界面显示为

那么点击xxs

通过

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值