06-xss攻防于绕过

xss的攻击于防御

攻击的利用方式

1)获取cookie,实现越权,如果是获取到网站管理员的cookie,也可以叫提权。注意尽量尽快退出账号,删除session,让session失效

2)钓鱼网站,模拟真实的网站,获取用户信息(用户名密码等),先告诉账号密码不正确,再跳转到真实网站

3)执行js代码,用于DDOS攻击别的目标站点,在站点A植入xss代码,向站点b发起请求,当用户量大的时候,实现DDOS攻击

4)恶意链接让用户点击,或者直接将网页植入到站点的标签中

将上述代码以短链接(短网址)的方式发送(这也是隐藏链接的方式)

5)当用户点击并访问到恶意站点:,

<a href="http://xxx/xss.html">,在xss.html的网页中,可以执行js代码

一方面提供正常的网站功能,另一方面隐藏着DOS或挖矿代码让用户浏览器执行

2、测试方法(攻击方式)

1)反射型xss测试的时候,可以使用扫描器,或者burp进行fuzz

2)存储型xss测试的时候,可以直接把字典中的payload都塞进去,根据弹窗的编号,就知道时哪个。

但是这个容易发现,所有可以试探一下特殊字符是否被过滤。(会被存到数据库)

3)DOM型xss测试,主要以阅读js代码为主。在页面中找输入点的相关dom节点,

在开发者选项中搜索一下根据搜索结果去看是否被相关的js操作,

如果有js操作,就去看我们的输入操作后输出在哪个地方,就按照常规的xss思路进行构建。

<input type="submit" value="<img src=1 οnerrοr=alert(1)"/>

或<input type="botton" value="" οnclick=alert()"/>

扫描器,要么直接对一个URL地址进行xss的payload攻击上存在xss,

另一个思路是对整个网站使用爬虫手段爬取url地址,让后再批量扫描(扫描的核心就是字典)

3、防御手段

1)做实体字符编码,htmlspecialchars(),函数功能就是把特殊符号,比如尖括号,引号转换成实体编码,

这样就不会在输入的地方去干扰页面源码。经过实体字符编码后,用户输入的特殊符号在源代码中就变成编码,

但是在页面输出的时候,还是会显示成原来的样子。当输出的位置在元素内容里面,并且被实体编码后,基本上就没有XSS的可能了。

content = htmlspecialchars(_GET['content']);

2)正则表达式或字符串判断

实体字符编码如果输出在事件属性中,还是有可能存在绕过的可能性,比如在a标签中,

没有尖括号也没有引号,就有可能被绕过,

如果存在类似这种的情况,需要在链接属性中加上http://或https://的正则表达式来限制。

XSS的绕过方式

1.绕过过滤

1)前端限制,直接用F12开发者选项修改js或html代码即可,或者用burpsuite绕过。

2)字符过滤,双写,大小写绕过,通过注释符绕过,也可以通过换行符绕过。

3)HTML实体转换;

字符实体是用一个编号写入HTML代码中来代替一个字符,在使用浏览器网页时会将这个编号解析还原为字符以供阅读。

javascript:alert("hello")编码为:(使用burp中的docode继续转换)

2、绕过编码

明确浏览器解析的机制,明白机制后,选择对应的编码。

3、其他技巧

1)输入标签间的情况:测试<>是否被过滤或转义,若无则直接

2)输出在script标签内,我们需要在保证内部js语法正确的前提下,去插入我们的payload。

如果我们在输出在字符串内部,测试字符串能否被闭合。如果我们无法闭合包裹字符串的引号,

这个就很难利用了,可能的解决方案:可以控制两处输入且\可用、存在宽字节。

3)输入在HTML属性内:查看属性是否有双引号包裹、没有则直接添加新的事件属性;

有双引号包裹则测试双引号是否可用,可用则闭合属性之后添加新的属性里以HTML实体编码的方式引入任意字符,

从而方便我们在事件属性里以JS的方式构造payload。

相关推荐
SRC_BLUE_1731 分钟前
SQLI LABS | Less-39 GET-Stacked Query Injection-Intiger Based
android·网络安全·adb·less
冰水°3 小时前
2.5_XXE(XML外部实体注入)
xml·安全·网络安全·xml外部实体注入·外部实体注入·xml漏洞
是谁谁谁4 小时前
【cft.show-web3解题思路】-php://input伪协议
web安全·网络安全·系统安全
黑客K-ing6 小时前
网络安全名词解释
开发语言·网络·安全·网络安全·php
无情啦少6 小时前
shodan 【2】(泷羽sec)
安全·web安全·网络安全
网安_秋刀鱼9 小时前
中间件安全
安全·web安全·网络安全·中间件·1024程序员节
网安CILLE9 小时前
2024下半年自学黑客(网络安全)
linux·网络·安全·web安全·网络安全·职场和发展·密码学
dal118网工任子仪10 小时前
web安全漏洞之xss(1)
笔记·学习·web安全·网络安全·xss
Wh1teR0se10 小时前
ctfshow(328)--XSS漏洞--存储型XSS
前端·xss
IT猫咪酱11 小时前
XSS过滤器Filter实现
java·springboot·xss