信息安全第六天作业

目录

作业一:总结CSRF和XSS的区别

作业二:总结CSRF攻击步骤

作业三:总结CSRF手工构造POST型页面方法

作业四:说明token类CSRF利用方法

作业五:SSRF常用伪协议

作业六:SSRF pikachu靶场通关

第一关:

第二关:

作业一:总结CSRF和XSS的区别

1.XSS 允许攻击者在受害者的浏览器上执行js 代码;而CSRF 不行。

2.XSS 通过窃取受害者的 cookie 来实现账号接管,如果目标站点使用了

httponly 这就行不通了;CSRF 通过浏览器发起请求,自动携带受害者的cookie信

息,即使有httponly 也不影响 CSRF 攻击的实现。

3.XSS 的危害更大。攻击者如果成功实现了XSS攻击,那通常意味着他可以使用

受害者在这个网站的所有功能,而CSRF 只限于特定的存在漏洞的功能。

4.CSRF 无法让攻击者获取到服务器返回的数据,由于请求是由受害者的浏览器发

起的,那么服务器的响应最后还是给到了受害者那里,攻击者是拿不到这部分数据

的,所以对于一些查询类功能,即便没有做任何防御CSRF的措施,它也几乎是没

有利用价值的;而XSS由于可以执行js代码,这也就使得攻击者可以将它想要的

数据发送到自己的服务器上,比如前面XSS章中提到的回传 cookie。

作业二:总结CSRF攻击步骤

1. 用户登录受信任网站

用户(如User C)在浏览器中打开并登录了一个受信任的Web应用程序(如Web A),该网站要求用户输入用户名和密码以进行身份验证。

登录成功后,服务器会生成一个会话令牌(如Cookie),并将其发送给用户的浏览器,以便后续的请求进行身份验证。

2. 浏览器存储身份验证信息

用户的浏览器会自动存储这些身份验证信息(如Cookie),并在后续对同一站点的请求中自动携带这些信息。

3. 用户访问恶意网站

在用户未退出受信任网站之前,用户在同一浏览器中打开了另一个标签页或窗口,并访问了一个恶意网站(如Web B)。

这个恶意网站可能是攻击者控制的,也可能是被攻击者注入了恶意代码的合法网站。

4. 恶意网站构造攻击请求

恶意网站会构造一个伪造的请求,该请求的目标URL是指向受信任网站的(如Web A),并且该请求会携带恶意数据或执行恶意操作。

攻击者会利用社会工程学技巧(如钓鱼邮件、恶意广告等)诱导用户点击或触发这个伪造的请求。

5. 浏览器自动发送请求

由于用户之前已经登录了受信任网站,并且浏览器自动携带了相应的身份验证信息(如Cookie),因此当浏览器接收到来自恶意网站的请求时,会毫无察觉地将这个请求连同身份验证信息一起发送给受信任网站。

6. 受信任网站处理请求

受信任网站在接收到请求后,由于请求中包含了有效的身份验证信息,因此会认为这是用户自己发起的合法请求,并按照请求中的数据进行处理。

这可能导致用户的数据被窃取、篡改或删除,或者执行一些未经授权的操作(如转账、发送邮件等)。

作业三:总结CSRF手工构造POST型页面方法

1. 确定目标

确定你想要进行CSRF攻击的目标网站和具体操作的URL。

通过分析或测试,了解该操作需要的POST参数及其结构。

2. 创建表单

在HTML文件中创建一个表单(<form>标签)。

设置表单的action属性为目标网站的URL。

设置表单的method属性为POST。

3. 添加输入字段

根据目标操作的POST参数,在表单中添加相应的输入字段(<input>标签)。

每个输入字段的name属性应与POST参数的名称相对应,value属性可以设置为攻击者希望发送的值。

4. 隐藏表单

为了使用户不易察觉,可以将表单和提交按钮隐藏在页面上(例如,使用CSS将表单和按钮的display属性设置为none,或将它们放在视口外)。

或者,使用JavaScript在后台自动提交表单,无需用户交互。

5. 诱导用户访问

将包含恶意表单的网页上传到攻击者控制的服务器上,或者通过邮件、聊天软件、社交媒体等方式发送给目标用户。

诱导用户点击一个看似无害的链接或按钮,该链接或按钮会触发表单的提交。

6. 监控和验证

攻击者可以通过在服务器上设置日志或利用Burp Suite等工具来监控POST请求的发送情况。

验证攻击是否成功,即目标网站是否执行了预期的操作。

作业四:说明token类CSRF利用方法

随机性和不可预测性:Token的最大特点是其随机性和不可预测性,这意味着攻击者很难猜测或伪造一个有效的Token。

与请求绑定:Token通常与用户的会话(Session)或请求绑定,每次请求时都需要携带该Token,服务器会验证Token的有效性。

不存储在Cookie中:为了防止Token被自动包含在跨站请求中,Token通常不会存储在Cookie中,而是作为请求参数或隐藏表单字段发送。

双重验证:除了Token验证外,还可以结合其他验证机制(如Referer头、User-Agent、IP地址等)来增加安全性。

作业五:SSRF常用伪协议

SSRF攻击中常用的伪协议包括以下几种:

1.file://

用途:从文件系统中获取文件内容。

示例:file:///etc/passwd(读取/etc/passwd文件)、file:///etc/hosts(显示当前操作系统网卡的IP地址)、file:///proc/net/arp(显示ARP缓存表,用于寻找内网其他主机)。

特点:这是SSRF中最简单的利用方式之一,可以直接读取服务器上的文件内容。

2.dict://

用途:字典服务协议,用于访问字典资源或进行网络扫描。

示例:dict://ip:6739/info(访问字典服务),也可以用于扫描内网主机的开放端口。

特点:可以较快地扫描内网主机的开放端口,但相对于其他协议,其扫描效率可能较低。

3.http(s)://

用途:通过HTTP或HTTPS协议向目标服务器发送请求,以获取响应或执行操作。

特点:由于HTTP协议在Web中广泛使用,因此通过HTTP协议进行SSRF攻击非常普遍。攻击者可以构造恶意的HTTP请求,以探测内网服务或执行未授权操作。

4.gopher://

用途:早期互联网上的文档检索协议,与HTTP类似但更简单和结构化。在SSRF攻击中,它可以用来构造复杂的请求,如GET和POST请求。

特点:gopher协议可以用来攻击那些需要交互的应用,因为它支持构造任意格式的请求。然而,需要注意的是,gopher协议会吃掉请求的第一个字符,因此在构造请求时需要特别注意。

5.ftp://

用途:文件传输协议,可用于网络端口扫描等。

特点:虽然ftp协议可以用于端口扫描,但其效率相对较低,且tcp连接成功但请求内容识别不到时仍不会回复。

6.sftp://

用途:SSH文件传输协议或安全文件传输协议,与ftp类似,但提供加密的文件传输。

特点:在SSRF攻击中,sftp协议可能用于更安全的文件访问或传输,但同样需要注意其可能的安全漏洞和限制。

7.ldap://

用途:轻量级目录访问协议,用于访问和维护分布式目录信息。

特点:在SSRF攻击中,ldap协议可能用于访问或修改目录服务中的敏感信息。

8.tftp://

用途:简单文件传输协议,用于在局域网中传输小文件。

特点:虽然tftp协议在局域网中广泛使用,但在SSRF攻击中其利用价值可能相对较低。

作业六:SSRF pikachu靶场通关

第一关

打开第一关,发现一个链接,点击链接。

弹出文字,查看网址发现当前页面是从url变量中引用进来的,如图:

可以尝试修改后面的网址,以百度为例:

所以可以用file协议查看本地文件,创建本地文件,如图:

引用该文件,“url=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php”如图:

第二关:

打开后仍然发现一个链接:

打开链接,发现一首诗,如图:

用file协议读取本地文件,“file=file://D:\phpstudy_pro\WWW\pikachu\vul\ssrf\ssrf_info\1.txt”如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值