• 29:WEB漏洞CSRF及SSRF漏洞案例讲解


    CSRF原理图解

    知识点

    CSRF解释、原理:

    CSRF(Cross-site request forgery)跨站请求伪造,由客户端发起,是一种劫持受信任用户向服务器发送非预期请求的攻击方式,与XSS相似,但比XSS更难防范,常与XSS一起配合攻击。

    原理详解:

    攻击者盗用了你的身份信息,以你的名义发送恶意请求,对服务器来说这个请求是你发起的,却完成了攻击者所期望的一个操作
    XSS 利用站点内的信任用户,盗取cookie
    CSRF通过伪装成受信任用户请求受信任的网站
    利用目标用户的合法身份,以目标的名义执行某些非法参数
    利用条件:已经登录系统,用户访问URL,已存在的网站中允许用户跳转

    防御方案:

    1.当用户发送重要的请求时需要输入原始密码
    2.设置随机Token
    3.检测referer来源,请求时判断请求连接是否为当前管理员正在使用的页面(管理员在编辑文章,黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)
    4.设置验证码
    5.限制请求方式只能为POST

    SSRF思维导图

    知识点

    SSRF漏洞解释,原理等

    SSRF漏洞检测,案例,防御等

    漏洞攻击:端口扫描,指纹识别,漏洞利用,内网探针等

    SSRF危害:

    • 扫描内网
    • 向内部任意主机的任意端口发送精心构造的Payload
    • DOS攻击(请求大文件,始终保持连接Keep-Alive Always)
    • 攻击内网的web应用,主要是使用GET参数就可以实现的攻击(比如struts2,sqli等)
    • 利用file协议读取本地文件等

    各个协议调用探针:http,file,dict,ftp,gopher等

    • http:192.168.64.144/phpmyadmin/
    • file:///D:/www.txt
    • dict://192.168.64.144:3306/info
    • ftp://192.168.64.144:21

    附:常用语言支持的协议 

    本课重点:

    • 案例1:Pikachu_CSRF案例及Burp检测
    • 案例2:Pikachu_CSRF防御Token测试
    • 案例3:SSRF_PHP,JAVA漏洞代码协议运用
    • 案例4:SSRF_漏洞代码结合某漏洞利用测试
    • 案例5:SSRF实战——图片加载翻译转码等应用说明

    案例1:Pikachu_CSRF案例及Burp检测

    pikachu靶场-CSRF(get)-测试过程:

    1.登录pikachu-CSRF(get)模块,修改个人信息,抓包,得到修改个人信息数据包:http:127.0.0.1:8080/update?email=hack@qq.com
    2.在攻击者网站上(192.168.33.4),写一个index.html页面,内容如下:
    <script src=http:127.0.0.1:8080/update?email=hack@qq.com></script>
    3.在用户浏览器登录pikachu情况下,诱使用户访问攻击者的链接:192.168.33.4/index.html,页面返回为空。
    4.用户以为访问了一个空页面,但其实个人信息已经被偷偷修改。原因是index.html页面携带了用户的cookie发起了http:127.0.0.1:8080/update?email=hack@qq.com请求,而这对于用户来说是不可见的。

    CSRF(Post)漏洞可以使用burp-Generate CSRF Poc模块测试:

    一般我们使用csrf漏洞来修改信息或者添加用户等。因此,一般在修改、添加功能处检测是否有CSRF漏洞。

    案例2:Pikachu_CSRF防御Token测试

    案例3:SSRF_PHP,JAVA漏洞代码协议运用

    漏洞代码

    界面:

    利用

    • 本地图片上传:没啥可利用的
    • 远程图片上传:远程上传的时候,会让用户输入一个远程的地址,比如说http://www.xxxx.com/aaa.jpg这个地址是个图片,那么服务端就回去访问这个地址。

    端口扫描:如果把这个图片地址恶意利用,请求本地mysql端口:比如127.0.0.1:3306,就会返回mysql版本信息。

    内网探针:比如让服务器请求自己已经打开的虚拟机,类比到内网之中,就实现了内网探测。内网ip可以用字典跑,一般都是192.168.xxx.xxx,端口用常见的端口就可以了。

    还可以使用各个协议调用探针:http,file,dict,ftp,gopher等

    • http:192.168.64.144/phpmyadmin/
    • file:///D:/www.txt
    • dict://192.168.64.144:3306/info
    • ftp://192.168.64.144:21

    案例4:SSRF_漏洞代码结合某漏洞利用测试

    <1>探针内网主机

    返回如下,说明主机存活

    <2>探针8080端口

    返回如下,说明8080端口存在,且存在HFS服务。

    <3>网上搜索HFS相关漏洞,发现HFS存在远程命令执行漏洞。找到payload,将payload放在图片地址处,点击提交。成功新增一个用户。payload如下

    案例5:SSRF实战——图片加载翻译转码等应用说明

    可以百度搜索:上传网络图片,在这种功能点处测试是否有SSRF漏洞。

    比如,下面位置处,可能存在SSRF漏洞。

    涉及资源:

    https://pan.baidu.com/s/1bp96ECJ

    https://www.t00ls.cc/articles-41070.html

    https://blog.csdn.net/qq_50854790/article/details/122244662

  • 相关阅读:
    深入理解JVM(5)——垃圾收集和内存分配策略
    深入理解JVM(4)——对象的创建和访问
    深入理解JVM(3)——类加载机制
    深入理解JVM(2)——运行时数据区
    深入理解JVM(1)——栈和局部变量操作指令
    文本对比
    LRUCache
    linux服务器间文件夹拷贝
    java实现sftp客户端上传文件夹的功能
    sopUI上手教程
  • 原文地址:https://www.cnblogs.com/zhengna/p/15774611.html
Copyright © 2020-2023  润新知