【2023HVV回顾】小程序打点案例分享

admin 2023年9月11日17:30:20评论89 views字数 2718阅读9分3秒阅读模式

目录

    0x00 前言0x01 案例一 某政务系统  1.弱口令进入后台  2.到处都是SQL注入  3.命令执行拿下服务器和数据库0x02 案例二 某县医院数据库  1.SQL注入拿下DBA0x03 案例三 某中学访客系统  1.未授权+信息泄露0x04 案例四 我打偏了  1.平行越权+信息泄露  2.平行越权的SQL注入
  • 渗透测试

刚结束某地HVV,小程序作为低成本易用的信息化系统,成为HVV新型重点突破对象。以下案例均来自于小程序,供大家学习。

0x00 前言

刚结束某地HVV,小程序作为低成本易用的信息化系统,成为HVV新型重点突破对象。以下案例均来自于小程序,供大家学习。

0x01 案例一 某政务系统

1.弱口令进入后台

点击小程序,进入公民办事,抓到小程序域名,访问直接是管理员后台,如下页面即为Fastadmin框架 。

【2023HVV回顾】小程序打点案例分享

一直有个坑,登录一直显示口令无效,在我要放弃的时候,点击返回上一步提醒我,您已登录,我纳闷了,发现该系统登陆操作后token会刷新,导致下一次登录必须使用上一次token,否则口令无效。因此应该是网络或系统本身有延时,导致未成功使用正确token进行登陆操作,当发现这个问题的时候我已经admin/123456登进了后台。

【2023HVV回顾】小程序打点案例分享

内包含数据近20000条公民信息,以及管理员账户几百个,且所有管理员账户中的账户名密码均为admin/123456。与地级市HVV | 未授权访问合集中的案例四系统情况类似。(码死)

【2023HVV回顾】小程序打点案例分享

2.到处都是SQL注入

前台业务处如下包,debug没有关导致爆出来数据库账户名密码,这个SQL注入太明显了,但此时我处在数据库账密的喜悦中没有搞SQL注入,可是这个数据库不对外,只能本地连接,烦死了。

【2023HVV回顾】小程序打点案例分享

【2023HVV回顾】小程序打点案例分享

后台查看管理员的时候存在延时注入

【2023HVV回顾】小程序打点案例分享

【2023HVV回顾】小程序打点案例分享

3.命令执行拿下服务器和数据库

既然是fastadmin,那有很多拿shell的方法,这次是用在线命令插件漏洞写入PHP Webshell,该漏洞只在1.1.0可用。

但是这个系统是二开的,根本找不到插件的地方,在网上搜罗了一下拼接找到插件页面。

目录为:/addon?ref=addtabs

那该插件的目录就应该是/addon/command?ref=addtabs,但是显示该页面不存在,我以为路由没设置,把这个禁了,直到队友在一个文章发现直接command即可访问该插件,即目录为/command?ref=addtabs

【2023HVV回顾】小程序打点案例分享

点击一键生成API文档,文件为php,标题写为木马内容即可,测试只有冰蝎马可以,以前有类似案例。

【2023HVV回顾】小程序打点案例分享

连接木马成功

【2023HVV回顾】小程序打点案例分享

通过传大马中的nc提权,反弹shell到云服务器拿到root权限。

【2023HVV回顾】小程序打点案例分享

大马执行sql语句会报错,乱码,很烦。

数据库账户密码我还记着呢,我通过自己写一个sql执行页面的php文件来连接数据库。证明我拿下数据库权限。

【2023HVV回顾】小程序打点案例分享

代码如下:


<html>
<head>
<title>执行MySQL语句</title>
</head>
<body>
<h1>执行MySQL语句</h1>

<form method="POST" action="">
<textarea name="sql_statement" rows="5" cols="50" placeholder="请输入MySQL语句"></textarea>
<br>
<input type="submit" value="执行">
</form>

<?php
// 检查是否提交了表单
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 获取用户输入的MySQL语句
$sql_statement = $_POST['sql_statement'];

// 连接MySQL数据库
$host = 'localhost';
$username = '';
$password = '';
$database = '';

$connection = mysqli_connect($host, $username, $password, $database);

// 执行MySQL查询
$result = mysqli_query($connection, $sql_statement);

// 检查查询结果
if ($result) {
// 回显查询结果
echo '<h2>查询结果:</h2>';
while ($row = mysqli_fetch_assoc($result)) {
echo '';
print_r($row);
echo '';
}
} else {
// 显示错误消息
echo '<h2>错误:</h2>';
echo '<p>' . mysqli_error($connection) . '</p>';
}

// 关闭数据库连接
mysqli_close($connection);
}
?>

</body>
</html>

0x02 案例二 某县医院数据库

1.SQL注入拿下DBA

该医院的SQL注入处于公众号挂号处,当我登录进去点击挂号记录,抓到一个带病人id的包。

【2023HVV回顾】小程序打点案例分享

加了个单引号,出现报错order by

【2023HVV回顾】小程序打点案例分享

直接SQLmap跑发现跑不出来,但注入确实存在。发现asp.net框架,说明对方系统为windows。

【2023HVV回顾】小程序打点案例分享

分别指定数据库MySQL,Oracle,MSSQL。终于在MSSQL时跑出注入,且为DBA权限。

【2023HVV回顾】小程序打点案例分享

想到xp_cmdshell可以执行命令,但可惜这是HIS,人家做了防护,我无论怎么设置都无法执行命令,放弃换目标。

0x03 案例三 某中学访客系统

1.未授权+信息泄露

打开小程序抓包,直接抓到了所有被访人的信息,一个接口未授权访问。

【2023HVV回顾】小程序打点案例分享

还没登录就这样,登进去还了得。

登进去并添加了一个访问申请【2023HVV回顾】小程序打点案例分享

在查看自己的访问申请记录时抓包

【2023HVV回顾】小程序打点案例分享

抓到如下链接:app/visitor/getVisitorInfo?viId=1,遍历可得到访客信息几百条,以及访客记录等。认定为平行越权,最后发现甚至是未授权访问,没有权限验证。

【2023HVV回顾】小程序打点案例分享

0x04 案例四 我打偏了

这个案例比较好笑,是我在搜小程序,它弹出了差一个字的小程序,没仔细看就开始打,也是一个县医院。

这应该是疫情期间专门为核酸检测预约做的小程序。

1.平行越权+信息泄露

【2023HVV回顾】小程序打点案例分享

登录的时候如果身份证姓名不匹配是无法通过验证的,说明里面的身份证信息都是真实的,登进来的习惯性找带用户id的功能,点击就诊人列表抓包。

【2023HVV回顾】小程序打点案例分享

查到了自己的手机,身份证,名字,性别

【2023HVV回顾】小程序打点案例分享

修改id可以查看其他人的信息,共计十几万条,妥妥的平行越权。

2.平行越权的SQL注入

习惯性加个单引号,直接报错,页面显示SQL错误,这不是对应上了嘛,edu-SQL注入案例分享最后一条总结,平行越权大概率存在SQL注入。但是我这打歪了,没有授权,就打住放弃了,后续移交平台整改。

【2023HVV回顾】小程序打点案例分享

  •  发表于 2023-08-31 09:00:00

  •  

  • 阅读 ( 1587 )

  •  

  • 分类:渗透测试


原文始发于微信公众号(白帽子程序员):【2023HVV回顾】小程序打点案例分享

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年9月11日17:30:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【2023HVV回顾】小程序打点案例分享http://cn-sec.com/archives/2025792.html

发表评论

匿名网友 填写信息