【渗透技术】一个渗透测试工具人是怎样操作的

Onethink管理平台后台可get webshell 1)搭建好平台,访问登陆页面 2)登录后台,漏洞在扩展功能处,新建名称为test的插件,在是否需要配置处输入一句话木马 3)保存后扩展功能插件管理处会增加test插件信息 4)在网站Addons目录下创建一个test文件夹,config.php内容就是写入的一句话木马 5)用工具连接config.php文件,获取webshell ... 阅读详情

一、前言

朋友给了我一个授权的站点,让我帮忙测试,并记录整体流程。
从主站测试无果。通过信息收集,发现服务器还有一个疑似测试使用的旁站。
在GitHub上找到旁站源码,通过审计发现一个任意文件读取漏洞。读取数据库配置文件,连接数据库,发现主站的管理员账号密码,最终getshell。

二、主站测试

前台为登录页面:
在这里插入图片描述
随手试了一下后台路径Admin,发现路径没改,而且登录的提示报错可以枚举用户名,可知管理员账号就是Admin:

在这里插入图片描述
.查看登录的请求包密码,发现没有经过加密,那就随手爆破一波碰碰运气——不出意外没有成功:
在这里插入图片描述
随手输入一个路径,看到报错信息,可以知道框架是Thinkphp,而且是有rce的版本:
在这里插入图片描述
拿起Payload一通乱打,发现没反应,应该是漏洞被修复了。
随后注册账号,登录之后随便点了几个功能,都没什么可以利用的地方。这套模板之前是有很多漏洞的,但是随着后面慢慢更新,这些漏洞基本都被修复了。
在这里插入图片描述

三、旁站测试

既然主站没办法直接打,就转变一下思路,老老实实从信息收集开始。
找到一个旁站,Onethink,没有什么数据,看着像是测试用的:
在这里插入图片描述
后台路径依旧没改,Admin.php,不过也进不去,没什么用:
在这里插入图片描述
这套框架已经出了很久,也停更了很久。搜索了一下,似乎有sql注入漏洞和缓存文件getshell,但无法复现,可能因为版本不同。
之后又在Github搜了一下,可以找到源码,干脆自己动手,丰衣足食。
下载完打开代码,随便找几个文件拼接路径,测试一下是不是同样的代码。
确认完后开始看代码,先直接全局搜索,各种敏感函数都搜一遍,发现有call_user_func_array:
在这里插入图片描述
从第一个开始看,iswaf.php文件,call_user_func_array在execute方法里,代码如下:

functionexecute($function,$args = '',$path = 'extensions') {
$function = basename($function);
$path= basename($path);
self::$model = $function;
if(file_exists(iswaf_root.$path.'/'.$function.'.php')) {
include_once iswaf_root.$path.'/'.$function.'.php';
$classname = 'plus_'.$function;
$class = new $classname;
self::$models[] = $function;
if(!is_array($args)) $args = array($args);
$a = call_user_func_array(array($class, $function),$args);
self::debuginfo($function);
return $a;
}
}

追踪execute方法,有个runapi方法调用,代码如下:

function runapi() {
if(isset($_POST['action']) && isset($_POST['args']) &&($_POST['key'] == md5(iswaf_connenct_key) || self::$mode == 'debug')){
$get['args'] =unserialize(self::authcode($_POST['args'],'DECODE'));
$get['function'] = $_POST['action'];
if($get['function']) {
if(!isset($_GET['debug']) &&!isset($_GET['key']) && $_GET['key'] !==md5(iswaf_connenct_key)) {
echoself::authcode(self::execute($get['function'],$get['args'],'apis'),'ENCODE');
}else{
print_r(unserialize(self::execute($get['function'],$get['args'],'apis')));
}
exit;
}
}
}

那么下一步要看一下怎么调用这个runapi方法。runapi方法属于iswaf类,而在iswaf类内有一行代码直接调用了这个方法,iswaf文件在最后会new一个对象且调用到那个方法:

在这里插入图片描述
所以只要直接访问iswaf文件,就可以调用runapi方法。
runapi方法接收三个请求参数,分别是action、args和key,然后对三个参数进行判断,先判断请求体的action、args不为空,key是md5加密的iswaf_connect_key,这个是写死的,定义在conf.php里面:
在这里插入图片描述
满足了这几个条件后,就是处理请求里的action和args。action没有做特殊处理,只是做了个赋值。
args走了反序列化和一层authcode方法加密,所以这里的args参数是要经过序列化的。至于加密方法authcode,代码太长了,就不贴出来了,反正整个方法直接拉出来用就行了。
接下来看下一个判断,是get[′function′],为true。其实就是请求体里的action,所以这个不用管。然后还有一层,是判断get['function'],为true。其实就是请求体里的action,所以这个不用管。 然后还有一层,是判断get[function]trueaction_GET请求参数debug和key都为空和key值,如果走if里的代码,就是加密,这里要走的是else里的代码,所以随便加个debug=1或者key=1。最后请求包大概就是这样:
在这里插入图片描述
到此,runapi方法就分析完毕了,构造好这样的请求包后,就会走到execute方法里面。继续看一下execute方法:
在这里插入图片描述
依旧是有三个参数,function和args可以通过runapi方法控制,第三个参数是写死的:
在这里插入图片描述
下面这里就重点关注call_user_func_array了,先通过if判断文件是否存在,iswaf_root文件目录路径,path前面已经看到是apis,function可控。
然后包含文件,拼接plus_和function,之后和args作为参数传递给call_user_func_array执行,看一下apis目录下的文件和代码,可以发现这里是专门用于执行这些文件代码的:
在这里插入图片描述
而这里面又有一个write_config方法,可以写入配置文件:
在这里插入图片描述
但是测试了半天,因为引号会被转义,死活绕不过去,只能放弃。最后看到一个读取文件的方法:
在这里插入图片描述
没有任何过滤:
在这里插入图片描述
先尝试读一下数据库配置文件:
在这里插入图片描述
测试连接,发现支持外联,并且主站的数据库也在里面。
最后,在其中找到管理员账号密码,解密哈希,进入后台,发现有任意文件上传漏洞没有修改,可以直接上传任意文件,这些操作都很常规,就不截图了。

四、总结

整体流程走下来,感觉自己还是运气比较好,目标数据库开了外联,并且找到了主站管理员密码。
目标也是百密一疏,前台漏洞都修复了,可能觉得后台一般进不去,就没有修复漏洞。
个人最大的体会,还是测试过程需要多做一些信息收集工作,说不定在某个地方就会柳暗花明。

kali渗透技术实战——搭建渗透测试环境 如果想要了解系统的安全状况,那么可以进行渗透测试,找出系统中的漏洞,验证是否存在安全隐患。 渗透测试的含义不只是评估,它会用已发现的漏洞来进行测试,以验证该漏洞是真实存在还是只是虚惊一场(假阳性)。举个例子,审计或评估利用的是扫描工具,这些工具会显示多个系统上的数百个可能的漏洞。而渗透测试则会采用恶意黑客的惯用手段来尝试对这些漏洞进行攻击。这样可以验证哪些漏洞真实存在,从而可以将实际的系统漏洞数降至少量。最有效的渗透测试是那些针对特定系统的有特定目标的测试。质胜于量,这才是检验成功渗透测试的标准。在目标性攻 阅读详情

相关推荐

27、网络渗透测试与后渗透技术全解析

本文详细解析了网络渗透测试与后渗透技术的核心内容,包括利用ElasticSearch服务和SNMP协议进行渗透测试的方法,以及后渗透阶段的关键技术如传递哈希技术(PTH)、Meterpreter使用、数据编码与渗透和中间攻击(MiTM)。通过实际操作步骤和工具示例,帮助读者掌握从漏洞利用到信息收集和横向移动的全过程,为网络安全测试提供技术参考。

o4p5q6r7s的博客 95

OneThink前台注入分析1

OneThink前台注入分析OneThink 前台注入进后台分析我是某次授权的渗透过程中,遇到了 OneThink,那么经过一番审计和尝试,最终实现了 OneT

网络渗透技术:深入分析与实践

网络渗透技术是指利用系统的漏洞,绕过安全防御机制,进入系统内部进行数据窃取、破坏或控制等恶意行为的技术。渗透测试(Penetration Testing)是网络渗透技术的一种合法应用,它被企业和组织用于评估他们的安全防护措施的有效性。在第一章,我们将从基础层面探讨网络渗透技术的定义、用途和它在现代网络安全领域的地位。我们将阐述渗透技术如何帮助企业识别和修复安全漏洞,以及它在信息安全领域的独特作用。渗透技术的用途远远超出了简单的安全测试,它在以下几个方面发挥着关键作用:安全评估。

weixin_42443533的博客 893

onethink入门笔记(一)

onethink入门笔记(一) 由于公司需求所以大概花了一个星期搞了一个一个基于onethink的数据管理平台demo不得不说onethink这个基于thinkphp3.2.3的框架还是很棒的 让我这个没基础过php的也能在一星期能搞出东西来整理一下所遇到的坑 希望能给看到这篇文章的你有所帮助 首先安装onethink 1.连接数据库 由于onethink是基于mysql的如果你...

开发笔记 3648

onethink搭建

1.OneThink是什么? OneThink是ThinkPHP团队基于ThinkPHP开发的一个开源的内容管理框架。,作为ThinkPHP项目的示例。 OneThink一个开源的内容管理框架,基于ThinkPHP 3.2版本开发,采用了全新的架构设计和命名空间机制,融合模块化、驱动化和插件化的设计理念于一体,为开发者提供了更方便、更安全Web应用开发体验。 OneThi

incloud_anke的博客 2597

[原创] OneThink模型管理详解-10分钟创建一个团队管理后台

本文为原创,根据自己在使用onethink创建web应用时的真实经历撰写而成。请支持本版权,转载时注明出处。仅为经验分享,不代表权威,不完善不准确之处欢迎纠正,有任何问题可对本文留言。 1.1.1 Onethink模型管理是什么?如何工作的?如何调试? Onethink可以让你图形...

chuntuo0256的博客 870

网络渗透技术如何自学,自学黑客要多久

摘要:自学网络渗透技术需要强烈兴趣与耐心,建议从网络基础知识(IP地址、TCP/IP协议)入手,掌握Web服务器搭建(Apache/PHP/MySQL)和编程语言(HTML/JS/Python等)。重点学习漏洞原理与利用(如SQL注入),使用工具(如sqlmap)并搭建DVWA等漏洞环境实践。进阶需熟悉Linux系统及内核,参与SRC平台实战挖洞,通过写博客复盘总结。学习周期取决于基础和时间投入,建议结合系统化路线(如1个月掌握渗透基础,3-6月进阶编程与内网渗透)提升效率。资源包括免费教程、工具及社群交流

kjuhfkicf154的博客 943

网络渗透技术PDF获取介绍:国内首部全面探讨系统安全的书籍,开放获取学习

网络渗透技术PDF获取介绍:国内首部全面探讨系统安全的书籍,开放获取学习 【下载地址】网络渗透技术PDF下载介绍 《网络渗透技术》是国内首部全面深入探讨系统与网络底层安全技术的专业书籍,涵盖从基础知识到高级技巧的十大核心主题。本书详细解析了网络渗透测试的各个方面,包括数据采集、防御策略、无线网络安全Web应用程序安全等...

gitblog_06784的博客 1108

「小明赠书活动」第五期“网安三剑客”套系图书《内网渗透技术》《渗透测试技术》《Web应用安全

民邮电出版社异步图书与安恒信息合作出版的“网安三剑客”套系图书《内网渗透技术》《渗透测试技术》《Web应用安全》。

小明的Java问道之路 3万+

Web应用渗透技术

记录WEB层面常见的漏洞以及技术学习的整个流程

weixin_62715196的博客 906

安全Web渗透测试(全流程)

1 信息收集 1.1域名、IP、端口 域名信息查询:信息可用于后续渗透 IP信息查询:确认域名对应IP,确认IP是否真实,确认通信是否正常 端口信息查询:NMap扫描,确认开放端口 如果不会用Nmap,看这里:NMAP 基础教程(功能介绍,安装,使用) 发现:一共开放两个端口,80为web访问端口,3389为windows远程登陆端口,嘿嘿嘿,试一下 发现:是Window...

qqchaozai的专栏 10万+

《网络渗透技术》PDF下载介绍

《网络渗透技术》PDF下载介绍 【下载地址】网络渗透技术PDF下载介绍 《网络渗透技术》是国内首部全面深入探讨系统与网络底层安全技术的专业书籍,涵盖从基础知识到高级技巧的十大核心主题。本书详细解析了网络渗透测试的各个方面,包括数据采集、防御策略、无线网络安全Web应用程序安全等,同时兼顾社交工程与物理安全,并深入探讨了...

gitblog_06796的博客 305

渗透测试完全手册:手把手教你成为安全专家(理论+工具+实战

定义:模拟黑客攻击以评估系统安全性的授权测试类型:黑盒测试、白盒测试、灰盒测试道德准则:合法授权、最小影响、保密协议。

kjuhfkicf154的博客 1124
上一篇: 【组件攻击链】一文看懂Spring全家桶各类RCE漏洞
下一篇: 深入分析H2数据库控制台中无需身份验证的RCE漏洞
IT老涵
博客等级 码龄5年 4555粉丝 414原创
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值