day6作业:
1.总结CSRF和XSS区别
2.总结CSRF攻击步骤
3.总结CSRF手工构造POST型页面方法
4.说明token类CSRF利用方法
5.SSRF常用伪协议
6.SSRF pikachu靶场通关
7.SSRF靶场通关时根据源代码说明漏洞成因(加分项)
1.CSRF和XSS区别
CSRF(Cross-Site Request Forgery)
攻击目标:CSRF攻击的目标是利用用户的身份认证信息(如登录凭证)在用户不知情的情况下,向受信任的网站发起恶意请求。
攻击原理:攻击者诱使用户在已认证的网站上执行不愿意的操作,例如通过伪造的表单提交或链接来发起请求。由于用户已登录且网站认为这些请求是合法的,因此会处理这些请求。
用户作用:用户的浏览器在发起请求时自动附带其认证信息(如Cookies),攻击者利用这一点来伪造用户的请求。
XSS(Cross-Site Scripting)
攻击目标:XSS攻击的目标是将恶意脚本注入到网页中,这些脚本在其他用户的浏览器中执行,从而窃取用户信息或执行恶意操作。
攻击原理:攻击者通过在网页中注入恶意脚本(通常通过输入框、URL参数等)来操控用户的浏览器。脚本可以读取用户的Cookies、会话数据,或者进行其他恶意操作。
用户作用:攻击者直接在用户的浏览器中执行恶意代码,与用户的身份认证信息无关。攻击的成功通常依赖于网页没有正确处理用户输入。
总结
CSRF 是利用用户的认证信息来发起伪造请求,主要关注如何利用用户的登录状态进行攻击。
XSS 是直接将恶意脚本注入到网页中,攻击用户的浏览器和用户数据,主要关注脚本注入和执行。
2.CSRF攻击步骤
诱导用户访问恶意网站:攻击者引导受害者访问一个包含恶意代码的网页或链接。
伪造请求:恶意网页会自动发起一个伪造的请求到受害者已经登录的受信任网站。这个请求通常是通过隐藏的表单或JavaScript脚本实现的。
利用用户的认证信息:因为受害者在受信任网站上已经登录,浏览器会自动附带用户的认证信息(如Cookies),从而使得伪造的请求被受信任网站接受并处理。
执行恶意操作:受信任网站在处理伪造请求时,可能会执行恶意操作,例如修改用户信息、发起资金转账等。
攻击完成:攻击者通过伪造请求实现了其目的,例如窃取数据、修改账户设置等,用户通常对此毫不知情。
3.CSRF手工构造POST型页面方法
正常页面
修改信息,抓包查看分析
构造表单
诱使受害者访问页面
攻击成功
4.token类CSRF利用方法
Token泄露:攻击者可以通过XSS漏洞窃取Token,并利用这个Token伪造请求。
Token重用:攻击者可以重复使用盗取的Token来发起伪造请求,特别是如果Token没有设置过期时间或刷新机制。
Token固定攻击:攻击者可能会尝试固定或预测Token的值来绕过验证。
Token无效的跨站请求:攻击者通过伪造Token并进行请求,尝试绕过Token验证机制。
5.SSRF常用伪协议
http://:最常见的伪协议,用于访问HTTP服务。
file://:用于访问服务器上的本地文件,可能泄露敏感文件内容。
ftp://:用于访问FTP服务,可能读取或上传文件。
localhost或127.0.0.1:用于访问服务器本地的服务,可能绕过防火墙或内部安全限制。
gopher://:一种较少见的协议,可以访问特定的服务或传输数据。
6.SSRF pikachu靶场通关
第一关
正常页面
点击一下,发现url改变
尝试修改url
url=file:///c:/windows/win.ini
访问成功
第二关
第二关和第一关的不同的是用file参数
用法差不多,在参数后输入需要访问的内容