一、总结CSRF和XSS区别
XSS攻击
XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式。
CSRF攻击
CSRF攻击(Cross Site Request Forgery,跨站请求伪造)是攻击者通过跨站请求,以合法的用户身份进行非法操作(如转账或发帖等)。
1、CSRF是跨站请求伪造; XSS是跨域脚本攻击。
2、CSRF需要用户先登录网站A,获取cookie; XSS不需要登录。
3、CSRF是利用网站A本身的漏洞,去请求网站A的api; XSS是向网站A注入JS代码,然后执行JS里的代码,篡改网站A的内容
二、总结CSRF攻击步骤
1、客户端通过账户密码登录访问网站A。
2、网站A验证客户端的账号密码,成功则生成一个sessionlD,并返回给客户端存储在浏览器中。
3、该客户端Tab—个新页面访问了网站B。
4、网站B自动触发要求该客户端访问网站A。(即在网站B中有链接指向网站A)
5、客户端通过网站B中的链接访问网站A。(此时携带有合法的SessionID进行访问站A的)
6、此时网站A只需检验sessionIlD是否合法,合法则执行相应的操作。
同时满足两个条件:
登录受信任网站A,并在本地生成Cookie。
在不登出A的情况下,访问危险网站B。
三、总结CSRF手工构造POST型页面方法
1、先进行抓包
2、对抓到的包进行分析,确定参数的个数
3、写一个html包含抓包中的参数,还可以自己对页面进行设计
4、通过访问所写的页面,点击即可完成攻击
post
先抓包
构造表单
四、说明token类CSRF利用方法
Token:每次请求,都增加一个随机码(长度要够,需要够随机,不容易伪造),后台每次对这个随机码进行验证!
CSRF Token的防护策略分为三个步骤:
1.将CSRF Token输出到页面中
2.页面提交的请求携带这个Token
3.服务器验证Token是否正确
所以在面对这个问题时,就得需要利用工具CSRF Token Tracker来验证这个Token
token
先登录抓包
发送给重发器
五、SSRF常用伪协议
file:// 从文件系统中获取文件内容,如file:///etc/passwd
dict:// 字典服务协议,访问字典资源,如 dict:///ip:6739/info:
ftp:// 可用于网络端口扫描
sftp:// SSH文件传输协议或安全文件传输协议
ldap://轻量级目录访问协议
tftp:// 简单文件传输协议
gopher://分布式文档传递服务
六、SSRF pikachu靶场通关
第一关:
curl
第二关:
file_get_conent