实训第六天

1 总结CSRF和XSS区别

XSS跨域脚本攻击CSRF攻击
跨站请求伪造
原理利用的是用户对指定网站的信任利用网站对用户网页浏览器的信任
用户状态不需要用户登录要求经过身份验证的用户并在目标网站上有有效的会话
攻击范围提供执行恶意脚本来执行攻击者所选择的任何活动,从而扩大了攻击的范围。仅限于用户可以执行的操作
恶意代码位置站点中受害用户访问的第三方站点中

2 总结CSRF攻击步骤

  1. 判断有没有CSRF

    burpsuite抓包(请求数据包,GET,POST请求)

    没有Referer和token字段——>可能存在CSRF漏洞

    有Referer和token字段,且删除后仍可正常访问——>可能存在CSRF

  2. 伪造页面

    根据拦截的请求数据包,修改其中的请求包,构建一个伪造的 HTML 页面或表单,包含与目标请求相同的参数。

  3. 诱导点击

    通过社会工程手段,将伪造的页面发送给用户,诱导其点击

3 总结CSRF手工构造POST型页面方法

  1. 抓取请求数据包,确定使用的是POST方法进行的请求
  2. 分析请求包数据(URL,表单参数,提交方式)
  3. 编写一个html页面:
    包含HTML表单,其中参数和数据包中的应该一致;
    插入JavaScript代码,以便在页面加载时自动提交该表单。

4 说明token类CSRF利用方法

token:服务端生成的一串字符串,以作客户端进行请求的一个令牌,设有失效期。服务端会对客户端请求中的token验证,验证成功才会通过请求,进行响应。

攻击者在进行CSRF攻击时,只能利用cookie而无法获取cookie。CSRF token就是基于此来防御CSRF攻击的。

CSRF token 需要由服务器端生成,可以为每个请求或是每个 session 生成一次,这个 token 会被传送到客户端,当客户端发出请求时,token会和表单数据一起提交回服务器端,或是作为请求头的一部分传回服务器端。服务器端需要在此用户的请求纪录或 session 中,找到该 token,验证其有效性。

5 SSRF常用伪协议

伪协议(Pseudo-protocol)是指那些在技术上不是标准网络协议,但可以被应用程序或系统用来进行特定类型的操作或交互的协议。这些协议通常会以特殊的方式请求资源或执行操作,有时可能被用于绕过安全限制或进行攻击。

file://该协议用于访问本地文件系统中的文件,可能被原来访问服务器上的敏感文件
ftp://FTP(文件传输协议)用于在客户端和服务器之间传输文件。
dict://字典协议,可能执行非预期的查询操作
php://php伪协议流,用于访问输入、输出、内存等

6 SSRF pikachu靶场通关

SSRF(curl)

浏览器中传了url参数

在前端修改url参数,后端访问并返回数据

SSRF(file_get_content)

访问

在前端修改file参数,后端会访问文件xxxx.txt并返回数据

7.SSRF靶场通关时根据源代码说明漏洞成因(加分项)

SSRF(curl)

从前端获取了url请求,curl_init函数会对它进行初始化,然后curl_exec函数会去执行请求,最终又将请求结果返回到前端。这里直接将用户输入的数据用作 HTTP 请求的 URL,而没有进行严格的验证和过滤。

SSRF(file_get_content)

这里使用file_get_contents函数进行文件的读取执行,而file_get_contents函数可以对本地文件进行读取,也可以对远程文件进行读取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值