关于在真实环境下面,这个漏洞该如何发现
这里老师把它分成了三块第一类是
#已知cms
如常见的dedecms,discuz,wordpress等源码结构,这些都是网上比较知名的php源码的cms的名称,这是我们在国内常见的几个程序,论坛discuz,博客wordpress是很常见的;他们都有个特性,他们的源码是在网上可以下载到的,我们都可以去用他的源码去搭建网站,我称之为cms;他们使用网上公开的源码搭建的网站。
针对这种网站我们用什么方法进行检测,一般采用公开漏洞进行攻击,如果没有就可以采用白盒代码审计来自行挖掘漏洞,
#开发框架
如常见的thinkphp(php),spring(java),flask(python)等开发的源码程序,这个thinkphp开发框架比较知名就是很多php网站都采用这个框架开发的;这种源码程序的测试思路:先获取对方开发框架的信息(例如名字和版本),通过公开的框架类漏洞进行安全测试,如果漏洞没有就进行白盒代码审计,这些框架在网上都可以下载到。
开发框架是对面程序的整体或者核心是用这个框架支撑的,框架以及提前给写好了,框架就跟开发引用的模块一样,比如一个文件上传,不用框架就一个一个代码写,用框架就直接引用框架,框架就是封装好的功能代码,
#未知cms
他分位两种一种可能是公司内部的,网上识别并不出来,第二种是对某cms进行了二次开发,对部分源码修改一下,但还是保留了一部分之前的;还有一种完全没有引用框架是自己一点点开发的,一般是大企业才会这样,或者个人内部;针对此类的先判断他是不是二次开发的,如果是还是cms的整体架构,用已知cms进行测试;不能确定的,我们可以用常规类综合工具和脚本去探侦扫描,也可以进行人工探针(功能点,参数,盲猜)。
功能点:比如想测试文件上传漏洞,就去找有文件上传的功能点操作。
#详解已知cms
既然是已知cms,我们可以先去漏洞平台寻找有没有公开的漏洞,
工具框架,就是针对的特定的一些已知cms的东西,比如wpscan就是针对wordpress的扫描工具,上面刚刚提到的三个已知cms都有直接特定的扫描工具,
代码审计主要分为三中,从函数点挖掘,从功能点挖掘,从框架类挖掘,
#详解开发框架
主流个的三个开发语言,php里面比较知名的框架yii,laravel,thinkphp。java框架shiro,struts,spring,maven。python框架,flask,django,tornado。
#详解未知cms
工具框架,我们不知道他是什么情况,就使用工具帮我们去扫描,例如xray,awvs。还有人工探针手工的去分析他有没有漏洞,我们要分析应用功能来判断它会产生什么漏洞,例如跨站,他的有参数传递输入的东西才会在页面中显示,才会产生跨站, 这个漏洞对应要在那种地方会产生,就要去对应的地方去找。
url参数:是我们利用抓包工具或者爬虫工具,抓到地址或者网站的请求信息,我们就可以尝试修改参数,提交方法来看对方的回显,就直接盲猜比如有参数漏洞就直接试试sql注入。
##案列:开发框架类源码渗透测试报告-资讯-thinkphp,spring
在fofa搜索了一个
打开靶场
输入个错误的url
看这里的回显错误信息,里面就写着thinkphp,
这时候就可以直接去利用thinkphp利用工具,
这个就没有漏洞,但是没有问题,我们还可以去网上搜素thinkphp5.024的漏洞利用
这些文章都可以帮助我们去测试,
还可以在漏洞平搜索公开漏洞
#spring框架漏洞演示
打卡靶场
就这个靶场了,打开虚拟机配置好靶场环境
打开打开靶场
我们看漏洞描述是在注册的时候抓包修改数据包,可以实现远程命令执行,我们看一下poc里面哪里是关于命令执行的
我们在网站注册抓包,注册抓包之后直接换成我们的pyload攻击数据包
如何我们就按照漏洞复现过程,看一下我们的容器
这里就有是我们远程执行命令创建的文件。
复现成功了。
##已知 CMS 非框架类渗透测试报告-工具脚本-wordpress
打开墨者靶场
打开靶场
我们觉得他是已知cms,第一步就是去识别他
去网上找cms识别
用这些在线网站识别他试试,除了这个还可以用cms识别工具。还可以手工去判断,直接谷歌浏览器点右键看检查,如何刷新网站看一下数据包里面有没有信息,这里就发现了复制下来
直接百度搜搜看,
就搜到了有相关的东西,可以确定他是wordpress。
接下来就可以直接百度去搜索wordpress的漏洞,或者去一些漏洞收集平台(cnvd)去搜一下看有没有关于他的漏洞,还可以直接搜索wordpress的利用工具
这些都可以对目标进行测试。
我们知道了对面是扫描cms就可以直接使用工具去打,
打开kali虚拟机直接调用wpscan
直接扫描地址
这边弹出来给报错,需要我去加上token,这个需要我们去他的官网注册账号
复制好这个token
再次开启工具
前面有一个好色感叹号的都是漏洞
这里这个sql注入找到注入点可以直接使用sqlmap跑,
这种我们发现了他的已知cms就可以利用对应的工具去测试,
##已知 CMS 非框架类渗透测试报告-代码审计-qqyewu_php
打开本地搭建和的靶场
在网搜漏洞也搜不到,因为比较小众
这时候就只能进行代码审计,打开代码审计工具
seay
直接使用代码审计的mysql语句监控
这个选项可以监控当前页面的sql语句。
刷新一下网站,点重录,之后就出现了网站所用的sql语句
然后分析那个sql语句有我们可控制的参数
别的都是数据库的参数,只有这个不像,很可能成为注入点,
因为这个是首页文件,所有就在index.php里面点开这个源码,搜索一下select
这都是html的表单,并没有找到html的语句,这种找不到就可能在包含文件里面,我们看一下他的包含文件,就打开全局搜索,直接搜索刚刚看到的sql语句,
这可能是给包含文件,搜索一下这个php文件
所以储存在这里,就可以确定这个文件是对的。
在搜索一些ywdd
这里getip是个函数,就看他调用的某个参数
然后这里sql语句的参数&ip,ip传递的是127.0.0.1,这里我们需要搜索一些getip看有它为什么得到是127.0.0.(发现这里是从数据包的首部传参的),这里就可以构造HTTP_X_FORWARDED_FOR的值来进行SQL注入。
访问网站抓包
发送出去数据包,再去看执行的sql语句
这里就更改成了8888
寻找直接必对看他显示什么数值
知道他会显示什么数据之后,在构造一下攻击语句发送出去
想要的信息全显示出来了。
这个就当与我们有对面的源码,然后通过代码审计挖掘到了这个漏洞,
未知 CMS 非框架类渗透测试报告-人工-你我都爱的 wg 哦~
这是一个违法网站,所以老师搞一下。
这里对网址动一下手脚
存在信息泄露。
这个是怎么知道的,是因为老师搞得多了一眼就能看出来,看不出来拿去cms识别平台识别一下也就好了
就变成了已知cms、这时候就想这个cms爆出来的漏洞,这个cms有个文件可以查看升级时间,我们还可以看一下他的升级时间,来确定一下他的版本
是2018年升级的,大概接受2018的版本,
现在就直接去网上搜索dedecms漏洞,看有没有2018年之后
但是搜不到。
还有代码审计,但是dedecms这种大的cms有代码审计的漏洞早就公开了,可能有些人找到了但是内部再用。
这时候我们可以试一下爆破和弱口令,老师就想到了网上出现过关于dedecms爆后台的方法,
看一下下载的东西
访问一下这个地方
后台登陆地址
到这一步又没什么办法了,老师就想用namp扫描一下端口,
k看扫描结果
888和8888是宝塔
前一阵子刚刚好好像爆过宝塔的漏洞,
然后老师的希望越大,绝望也就越大,都不存在了
老师就继续搞。dedecms漏洞方面不行,端口也不行,想登录进去后台就要账户密码,账户密码储存在数据库,数据库账户密码也不知道,它会不会有一些压缩包文件,里面有源码等等。
然后老师找到了,但是老师怕被这个公司派出杀手暴打一顿,就不给我们提供了。
这就是备份文件,找打了数据库链接文件
直接开外联工具
密码什么都正确,然后被宝塔这个吊毛给不让链接,
然后老师继续翻,又找到了有关的
然后连接上了
找到了后台的账户密码,吃瓜!
xs
s