【封神台】漏洞原理到利用 wp

前言

  • 掌控安全里面的靶场漏洞原理到利用,学习一下!

验证码绕过

环境:http://yzmrg988.zs.aqlab.cn/

打开环境,cms UsualToolCMS

image-20210820133939231

直接去站长源码下载过来

image-20210820133959220

可以发现管理员路径/cmsadmin/a_admin.php

image-20210820134022501

访问一下,因为说是验证码绕过,估计也是弱密码,直接抓包跑一下top100密码试试

image-20210820134233568

直接跑seclist圈的常用密码

image-20210820134724566

由于单单靠长度来判别是否成功有点困难,所以匹配grep-Extract提取一下,如果出现不同的字符就说明找到了。

image-20210820135140610

找到密码为root

image-20210820135225950

去登陆admin、root成功进入后台

image-20210820135309463

审计一下代码,先自动审计看看有什么危险函数,结果看到后台a_tampletex.php存在一个文件任意写入的函数,跟进看看

image-20210820140137694

主要代码

1
2
3
4
5
6
7
8
9
10
$x=UsualToolCMS::sqlcheck($_GET["x"]);
if($x=="m"){
$filename=$_POST["filename"];
$dir=$_POST["dir"];
$content=$_POST["content"];
$id=UsualToolCMS::sqlcheckx($_POST["id"]);
$tp=$_POST["tp"];
$contents=iconv("utf-8","utf-8",$content);
$filenames="../".$dir."/".$filename.".";
file_put_contents($filenames,$contents);

分析一下

1、第一个参数filenames由post传参filename控制

2、第二参数contents由post传参content限制

3、得满足get传参x=m

4、由于filenames的目录会回退一个../所以最后shell会生成在网站页面

准备去写shell http://yzmrg988.zs.aqlab.cn/cmsadmin/a_templetex.php抓包

image-20210820141713081

接着访问http://yzmrg988.zs.aqlab.cn/shell.php

image-20210820141731029

蚁剑连接成功拿shell

image-20210820141839250

越权漏洞

核心:传参,修改传参中有可能代表你身份的信息
水平越权:攻击者可以访问相同权限的不同用户的资源
垂直越权:攻击者可以访问高权限用户的资源

练习环境:http://59.63.200.79:8002/d/index.asp

水平越权

练习一下,先注册两个号test1和test2

image-20210820084828368

image-20210820084823494

接着查看一下cookie对比一下,发现有些可疑的传参可疑试试

image-20210820084945708

登陆test1可疑知道test1的UserID为29,将test2的UserID改为29试试看,发现可以通过test2改UserID来查看test1的资料,并且还可以修改

image-20210820085051865

垂直越权

根据上面的我们还得到有个admin和shenfen两个传参,修改一下试试

将shenfen=3,发现变成维修人员了

image-20210820085242788

将shenfen=1,变成管理人员了,明显垂直越权

image-20210820085332666

但是访问管理员后台,会被拦截

image-20210820085430963

在仔细看看传参,发现有个admin=0,将其改为admin=1

image-20210820085500586

结果成功进入后台了

image-20210820085537414

接着测测有没有未授权访问, 直接复制管理员登陆后的地址,直接访问

image-20210820085806771

发现弹了个前端的弹框,关掉javascript的功能看看能不能绕过

image-20210820085833894

发现可以访问,但是无法进行操作只能获取信息

image-20210820085910515

了解一下

SSRF

利用方式为使用dict协议操作Redis、file协议读文件、gopher协议反弹Shell等。

ssrf漏洞的原理

SSRF(服务器端请求伪造),是攻击者构造请求再由服务端发起的漏洞。漏洞点一般在控制服务端发起请求的功能点,涉及的危险函数为file_get_contents、fsockopen、curl_exec。利用SSRF可以对内网发起攻击、对本机未对外开放服务发起攻击、做为攻击跳板。

ssrf有什么作用

一般用于探测内网端口及信息,查看文件,甚至可以getshell攻击内外网的web应用。

ssrf一般存在于哪些地方:

能够对外发起网络请求的地方,可能存在ssrf从远程服务器请求资源处。

如何判断是否有ssrf:

从远程服务器请求资源,验证请求是不是由服务器发出

ssrf支持哪些协议:

Dict:// file:// sftp:// ldap:// gopher:// ftp:// http:// 等.

SSRF如何绕过

统一错误信息;限制请求的端口;过滤返回的信息;黑名单内网ip;禁用其他协议,允许http,https。

ssrf里的dict协议的作用

查看端口,版本信息这些;向服务器端口请求curl命令

ssrf里的file协议的作用

可以在文件系统中读取文件,有的时候会被禁用

SSRF里的gopher协议的作用

可以用这个协议发送各种格式的请求包

SSRF的危害:

主要还是攻击内网或者本机应用,例如内网存在弱密码或者是某些问题cms就可以通杀了,然后本机应用,有些易受攻击的应用并不会开放端口,但是默认本机运行开放,例如redis,还可以读取本机文件,有些敏感文件,例如数据库配置文件

SSRF漏洞的核心:

第一点:进入了内网,绕过了很多防火墙机制,因为防御大部分对外不对内
第二点:可以去访问存在漏洞机器上面的内部开放端口。可以触发漏洞(redis之类的)
第三点:可以通过file协议读取敏感信息

SSRF挖掘重点:

其实不一定非要去找传参名之类的或者功能点,在我看来,如果哪个传参带了协议名或者是带了文件后缀,都可能存在SSRF,一般而言有协议名传参的基本都有,如果是带了文件后缀的,很有可能存在SSRF漏洞或者任意文件下载或者任意文件读取。

实操环境:http://59.63.200.79:8019/

通过可以访问本机http地址,存在SSRF漏洞

image-20210818155317673

dict协议扫一波端口,线程50,端口1-65535

image-20210818155447097

发现了6379端口,该端口的服务是redis,可以利用gopher协议操作redis写入一句话木马,可以选反弹shell或是写入shell,写入shell一般需要知道绝对路径,但这里好像是个例外,可以直接拿gopherus.py工具直接拿shell

image-20210818161453919

接着将我们得到的payload直接访问,就可以生成shell.php在当前目录中

image-20210818161520584

当上面的刷新图标在转圈的时候,说明shell生成ok了,直接访问

image-20210818161609023

蚁剑连接成功,是台linux机子

image-20210818161711917

支付漏洞

环境:http://zfld588b.zs.aqlab.cn/

理解支付漏洞首先要了解网站支付逻辑,商户网站接入支付结果有两种方式,一种是通过浏览器进行跳转通知,一种是服务器端异步通知。

常见的支付漏洞有这么几种:修改支付价格、修改支付状态、修改购买数量、修改附属值、修改支付接口、多重替换支付、重复支付、最小额支付、值为最大值支付问题、越权支付、无限制试用、修改优惠价

实操:

1、注册一个账号,发现购买点卡的时候抓包,修改为负值会自动增加金额

image-20210820144217752

金额就增加了

image-20210820144231981

我的个人博客

孤桜懶契:http://gylq.gitee.io

本文标题:【封神台】漏洞原理到利用 wp

文章作者:孤桜懶契

发布时间:2021年08月07日 - 12:00:00

最后更新:2022年05月20日 - 11:47:45

原始链接:https://gylq.gitee.io/posts/105.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------