目录
作业一、总结CSRF和XSS区别
CSRF和XSS攻击的区别:XSS攻击需要JavaScript,而CSRF攻击不需要;XSS攻击需要站点接受恶意代码,但对于CSRF来说,恶意代码位于第三方站点上。过滤用户的输入只能防止恶意代码注入到某个站点,但是它无阻止法恶意代码在第三方站点上运行。因此防御XSS攻击的措施可能并不能防御CSRF。若网站有XSS攻击漏洞,那么它也应当有CSRF攻击漏洞。
作业二、CSRF攻击步骤
对于A,B,C。A是受攻击网站,B是攻击者,C是某用户
则攻击步骤可以概括为:
1.用户c成功登录站点A,并产生了相应的cookie
2.用户c在没有退出站点A的情况下访问攻击网站B(使用同一个浏览器)
3.攻击者B要求访问站点A,发出一个请求
4.用户浏览器根据B的请求,携带cookie访问站点A
5.由于浏览器会自动携带用户C的cookie,所以A会根据用户C的权限处理攻击者B的请求,这样B就达到了模拟用户登录的过程。
作业三、总结CSRF手工构造POST型页面方法
先创建一个 HTML 页面,这个页面中包含指向被攻击者已登录网站的表单,该表单可以执行某种特定的操作。被攻击者访问这个页面时,他们的浏览器会自动发送相关的 cookies,从而获取相应的权限。
作业四、说明token类CSRF利用方法
1有些token的随机性不足。可以通过猜测或预测的方式获取token。比如,若token是一个简单的递增计数器或者是基于时间戳的,那么就可以通过观察和猜测来尝试找到有效的token。
2.有些token并不是一次性的。那么我们可以拦截用户的请求,获取token,将这个请求重放给服务器,从而执行想要的操作。
3.有其他漏洞。如果应用程序存在其他漏洞,比如XSS,那么我们可以通过XSS注入恶意脚本来窃取用户的session cookie,进而获取其中的token。
作业五、SSRF常用伪协议
file:// - 用于访问本地文件系统。
gopher:// - 用于在互联网上发布和检索文档。
dict:// - Dictionary协议用于查询字典服务器。
ldap:// - 轻量目录访问协议用于访问目录服务。
ftp:// - 文件传输协议用于传输文件。
http(s)://internal_ip_or_hostname - 可以尝试使用内部IP地址或主机名来访问内部网络资源,这些资源通常是外部不可达的。
data:// - Data URI scheme允许直接在URI中嵌入小的数据对象。
jar:// - Java ARchive 文件的访问协议。攻击者可能尝试加载包含恶意代码的JAR文件。
view-source:http(s):// - 在某些浏览器中,可以用于查看页面源码。
vnc:// - VNC是一种远程桌面共享系统。经常用于访问内部VNC服务器。
作业五、SSRF pikachu靶场通关
第一关
打开网页
利用SSRF漏洞,上传特定的url,这里上传的是本地的一个文件
第二关
打开网页
利用SSRF漏洞,上传文件