红客解密程序 暗网编程
27.3K subscribers
966 photos
12 videos
1 file
56 links
渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持
Download Telegram
Template.php catid变量 SQL注入漏洞(CVE-2017-11583)
漏洞分析:
/finecms/dayrui/controllers/api.php 114 data2函数

首先我们要绕过安全码认证
$auth = $this->input->get('auth', true);
if ($auth != md5(SYS_KEY)) {
// 授权认证码不正确
$data = array('msg' => '授权认证码不正确', 'code' => 0);
} else {
这个安全码直接定义在config中,可以在后台被修改,会在cookie中被泄露

当我们第一次访问站点的时候,我们会获得cookie,这个前缀就是安全码
1361399XXXX
Lat:32.996947
Lng:112.50747
地址:河南省南阳市卧龙区车站南路靠近南阳汽车站


三网实时精准位置一直在,无历史,误差小 一直秒
通用漏洞挖掘——网关系统
未授权访问查看管理员账号密码
目标是个网关系统,使用弱口令进入系统后,开始测试功能点,在系统用户处测试抓包:

通用漏洞挖掘——网关系统-RadeBit瑞安全
删除cookie后发现仍然可以访问管理员相关信息包括密码、手机号码等:

通用漏洞挖掘——网关系统-RadeBit瑞安全
浏览器直接访问,然后查看密码即可:

通用漏洞挖掘——网关系统-RadeBit瑞安全
任意文件下载
后台存在日志查询功能点, 查看服务器日志时有下载功能:

通用漏洞挖掘——网关系统-RadeBit瑞安全
点击下载并抓包:

通用漏洞挖掘——网关系统-RadeBit瑞安全
将参数fileName的值删除重放后报错泄漏了物理路径,其中fopen(../../../log/)猜测是downFile.php文件中的源代码:

通用漏洞挖掘——网关系统-RadeBit瑞安全
在参数fileName后拼接:../../../VAG/pag/web/html/serverLog/downFile.php,查看downFile.php源码。定义了$file_dir的值为../../../log/,这里用户传入的值$file_name没有进行任何过滤,就直接拼接在变量$file_dir后面然后使用fopen函数打开拼接后的文件。

这里使用../可以直接下载任意文件:

通用漏洞挖掘——网关系统-RadeBit瑞安全
任意文件读取
在测试服务器日志时,服务器返回的代码中含有参数showFile.php?fileName=:

通用漏洞挖掘——网关系统-RadeBit瑞安全
这里构造数据包/serverLog/showFile.php?fileName= 可以直接查看目标源文件:

通用漏洞挖掘——网关系统-RadeBit瑞安全
在测试过程中发现存在未授权访问,在浏览器中可以直接读取文件源代码:

通用漏洞挖掘——网关系统-RadeBit瑞安全
未授权创建存储型XSS
发现在资源管理功能点存在未授权,可以创建存储型XSS,插入XSS平台地址:

通用漏洞挖掘——网关系统-RadeBit瑞安全
当管理员访问资源管理功能点时:

通用漏洞挖掘——网关系统-RadeBit瑞安全
XSS平台成功获取到系统管理员cookie:

通用漏洞挖掘——网关系统-RadeBit瑞安全
任意用户密码修改
在后台管理测试修改密码功能点,这里原始密码随意输入,点击保存并抓包。

通用漏洞挖掘——网关系统-RadeBit瑞安全
发现在/data/checkIsExist.php数据包中会对当前账户的原始密码进行校验,原始密码错误返回1,密码正确返回0。

通用漏洞挖掘——网关系统-RadeBit瑞安全
这里将服务器返回的数据包修改为0,进入下一个数据包,这里是对密码进行修改。

通用漏洞挖掘——网关系统-RadeBit瑞安全
释放数据包后显示密码修改成功:

通用漏洞挖掘——网关系统-RadeBit瑞安全
使用修改之后的密码去尝试登录,可以成功登录到管理后台。

此时想到这个系统存在很多未授权操作,如果修改密码功能点也存在未授权,那么就可以直接重置系统任意用户的密码。

这里浏览器直接访问修改密码的URL,发现用户名为空:

通用漏洞挖掘——网关系统-RadeBit瑞安全
这里按照之前的流程先走一遍,点击保存并抓包,发现name参数的值为空,这里修改为admin:

通用漏洞挖掘——网关系统-RadeBit瑞安全
在修改服务器返回的数据包为0之后,再将参数name的值修改为admin:

通用漏洞挖掘——网关系统-RadeBit瑞安全
释放数据包后,显示修改成功:
通用漏洞挖掘——网关系统-RadeBit瑞安全
使用修改之后的密码去登录,成功登录到管理后台
SQLite手工注入Getshell技巧

SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以经常被集成到各种应用程序中,主要在手机的App中使用。
之前没有遇到过关于SQLite的注入,这次遇到一个在ASPX中使用SQLite数据库,并且存在注入。这篇文章将主要介绍一下从注入到获取WEBSHELL的过程和遇到的一些坑。
首先介绍一下SQLite的使用方法,然后在本地搭建环境以及利用注入获取WEBSHELL,最后将讲述在实际应用中遇到的问题以及如何解决(e.g.手工注入写shell)。

0x02 SQLite的使用
SQLite 的一个重要的特性是零配置的,这意味着不需要复杂的安装或管理。在 Windows 上使用SQLite时访问 SQLite下载页面,从 Windows 区下载预编译的二进制文件。现在最新的为sqlite-tools-win32-x86-3190300.zip,下载下来后解压。我这里将其中的文件复制到D:\sqlite目录。

SQLite的语法和其他数据库差不多,只不过SQLite的数据库是一个单独的文件。SQLite创建数据库的方法有两种,一种是创建,另外一种是附加。

创建使用命令:sqlite3.exe 数据库文件名。例如创建一个名字为aa.db的数据库,使用命令:sqlite3.exe aa.db。
这里可以看到,这个serialize后的OS_xpc_data并没有引用对应的send right信息,只是标记它是个DATA(0x8000),以及它的长度0x34000。而事实上,在deserialize的时候,程序会自动寻找mach_msg_body_t中指定的复杂消息个数,并且顺序去寻找后边紧跟的mach_msg_port_descriptor_t结构,而序列化过后的XPC消息中出现的OS_xpc_data与之前填入的mach_msg_port_descriptor_t顺序是一致并且一一对应的
Metinfo 5.3.17 前台SQL注入漏洞分析

代码截的不全,只关注一下这几个操作:

$pseudo_url=$_SERVER[HTTP_X_REWRITE_URL]?$_SERVER[HTTP_X_REWRITE_URL]:$_SERVER[REQUEST_URI];: 从$_SERVER[HTTP_X_REWRITE_URL]中获取$pseudo_url变量
$dirs=explode('/',$pseudo_url);:将$pseudo_url变量用斜线分割成$dirs数组
$dir_dirname=$dirs[count($dirs)-2];:获取$dirs的倒数第二个元素作为$dir_dirname变量
$query="select * from $met_column where foldername='$dir_dirname' and lang='$lang' and (classtype='1' or releclass!='0') order by id asc";:$dir_dirname变量被拼接进SQL语句
所以,通过分析可知,$_SERVER[HTTP_X_REWRITE_URL]的一部分,最终被拼接进SQL语句。那么,如果Metinfo没有对HTTP头进行验证的情况下,将导致一个SQL注入漏洞。
Windows环境下的信息收集
对于系统的基本信息一般包括:主机名、所属域、环境变量等,涉及的命令如下:

获取主机名:

hostname或者echo %COMPUTERNAME%
从攻击者的角度来看,这真的很有趣:如果我们能够以某种方式控制这些cmds进入Function身体并插入我们自己的代码,它将在呈现这样的字形时立即执行