xss漏洞-过滤绕过及工具使用

简单介绍Beef工具

Broser:主要是针对浏览器的一些信息收集或攻击,其下的子选项卡Hooked Domain主要是获取HTTP属性值,比如cookie、表单值等,还可以做写简单的浏览器操作,比如替换href值,弹出警告框,重定向浏览器等。这个选项卡下的有些模块会根据受害者的浏览器来决定是否显示。主要是浏览器通用操作和其他基本信息检测。
Chrome extensions:主要是针对谷歌浏览器扩展插件
Debug:调试功能
Exploits:漏洞利用,主要利用一些已公开的漏洞进行攻击测试
Host:针对主机,比如检测主机的浏览器、系统信息、IP地址、安装软件等等
IPEC:协议间通信。主要是用来连接、控制受害者浏览器的
Metasploit:Beef可通过配置和metasploit平台联合,一旦有受害者出现,可通过信息收集确定是否存在漏洞,进一步方便metasploit攻击测试
Misc:杂项。
Network:网络扫描
Persistence:维护受害者访问
Phonegap:手机测试
Social engineering:社会工程学攻击

其中:
绿色模块:可以执行且目标不可见
红色模块:不适合当前目标
橙色模块:可以执行但目标可见
灰色模块:未在目标浏览器上测试过

配置文件:/usr/share/beef-xss/config.yaml
Get Cookie、Redirect Browser(跳转)、Fake Flash Update(图片伪造下载)

https://www.wangan.com/docs/815 beef模块说明

HttpOnly 属性过滤防读取

如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击

登录后台的方式

1、直接登录
2、采用cookie登录

绕过 httponly:

1、浏览器保存帐号密码:浏览器读取帐号密码
2、浏览器未保存帐号密码:利用表单劫持

参考:https://woj.app/1684.html

代码类过滤:xsslabs

onclick=”alert(1)”

less-2:”>
less-3:’ onclick=’alert(1)
less-4:”onclick=”alert(1)”
less-5:”>

less-6:”>

less-7:” oonnclick=”alert(1)”
less-8:javascript:alert(1)
less-9:javascript:alert(1)//http://
less-10:?keyword=111&t_sort=” onclick=”alert(1)” 将type改成text
less-11:?keyword=good job!&t_sort=” onclick=”alert(1)” 将type改成text

涉及资源

https://github.com/do0dl3/xss-labs
https://www.wangan.com/docs/815 beef模块说明