43 漏洞发现-WEB应用之漏洞探针类型利用修复

目录

    • 已知CMS
    • 开发框架
    • 末知CMS
    • 演示案例:
      • 开发框架类源码渗透测试报告-资讯-thinkphp
      • 开发框架类源码渗透测试-咨讯-spring
      • 已知CMS非框架类渗透测试报告-工具脚本-wordpress
      • 已知CMS非框架类渗透测试报告-代码审计-qqyewu_php
      • 未知CMS非框架类渗透测试报告-人工-你我都爱的wg哦~

43 漏洞发现-WEB应用之漏洞探针类型利用修复_第1张图片

已知CMS

如常见的dedecms.discuz,wordpress等源码结构,它们都有一种特性,这种源码在网上是可以下载到的,是免费的,我们都可以用它搭建网站,根据自己的需要,我们把这种叫已知cms

这种一般采用非框架类开发但也有少部分采用的是框架类开发,针对此类源码程序的安全检测,我们要利用公开的漏洞进行测试,如不存在可采用白盒代码审计自行挖掘。

在漏洞平台搜索特定关键字,看是否报过漏洞
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第2张图片

工具框架是针对特定的cms,例如wpscan是针对wordpress的专业扫描工具,不是说每套cms都有专门对应的漏洞扫描工具,一般有公开的说明这套程序比较热门,人使用的比较多,所以会有人单独去写这套cms的扫描工具,我们需要实时的去关注这些东西

使用工具框架进行有针对性的扫描:

CMSScan:综合类,一款适用于WordPress、Drupal、Joomla、vBulletin的安全扫描工具https://github.com/ajinabraham/CMSScan

wpscan:WordPress扫描工具
https://github.com/wpscanteam/wpscan
使用时需要在官方(https://wpscan.com)申请一个账号(谷歌人机身份验证,必须FQ),登录后得到一个token,使用wpscan时需要带着这个token。
用法:wpscan --url --api-token

joomscan:Joomla扫描工具
https://github.com/OWASP/joomscan

DrupalScan:Drupal扫描工具
https://github.com/rverton/DrupalScan

其他:先识别CMS,然后网上搜索针对该CMS的漏扫工具

wpscan、joomscan、drupalscan是享誉全球的博客扫描工具

以上两种都找不到漏洞的情况下,可以采用代码审计的方式,从代码层面自己去挖掘

开发框架

如常见的thinkphp,spring,flask等开发的源码程序,这种源码程序正常的安全测试思路: 先获取对应的开发框架信息(名字,版本),通过公开的框架类安全问题进行测试,如不存在可采用白盒代码审计自行挖掘。

如常见的thinkphp,spring,flask等开发的源码程序,这种源码程序正常的安全测试思路:先获取对应的开发框架信息(名字,版本),通过公开的框架类安全问题进行测试,如不存在可采用白盒代码审计自行挖掘。

常见的PHP开发框架:Yii、Laravel、Thinkphp
常见的Java开发框架:Shiro、Struts、Spring、Maven
常见的Python开发框架:Flask、Django、Tornado

上面这些是常用的针对这几种脚本语言的开发框架

末知CMS

如常见的企业或个人内部程序源码,也可以是某CMS二次开发的源码结构

针对此类的源码程序测试思路:能识别二次开发就按已知CMS思路进行,不能确定二次开发的话可以采用常规综合类扫描工具或脚本进行探针,也可以采用人工探针(功能点,参数盲猜),同样在有源码的情况下也可以进行代码审计自行挖掘

我不知道是什么cms,老办法就是要用工具去扫描,如果说知道什么是cms,那就找漏洞,然后使用针对性的工具去扫描,不需要用到老牌工具去扫描,还有一种是人工探测去分析有没有漏洞,就是从应用功能分析,比如会产生跨站、注入,首先要通过漏洞原理,你已经知道这个漏洞产生要满足什么条件,那么这个条件要在网站的某些应用、功能上要有体现,才可能出现漏洞,比如跨站,它是有参数传递,你在输入中会显示,才会形成跨站漏洞,所以我们要思考这个东西要实现的话,会在那个网站产生,我们可以使用抓包工具或者爬虫工具,抓到网站的各种请求的地址信息,那么从地址信息里面去分析这里面的参数,用相关的方法修改参数来尝试提交,看对方的回显和返回来确定这个漏洞是否存在

演示案例:

开发框架类源码渗透测试报告-资讯-thinkphp

我们有经常接触网站的话,即使他们没有报出关键信息,也能知道对方使用的框架,有经验之后,你看网站的地址信息,都能看出来是什么框架

fofa搜索"index/login/login",寻找测试网站
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第3张图片
构造错误的url,查看错误回显,确定网站使用thinkphp框架及其版本
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第4张图片
使用专门工具对thinkphp进行漏洞挖掘,比如
TPScan(jar文件):一键ThinkPHP漏洞检测具(参考:https://www.jeeinn.com/2021/03/1493/)
工具下载地址:https://github.com/tangxiaofeng7/TPScan
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第5张图片
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第6张图片
TPScan(基于Python3):一键ThinkPHP漏洞检测工具:https://github.com/Lucifer1993/TPscan

thinkPHP5.x远程命令执行(getshell)测试工具
地址:https://pan.baidu.com/s/17UOif8XD_-V_IMVAHXVlcw 提取码: 31x2
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第7张图片
这个资产就没有漏洞,我们知道对方的一个情况就可以使用扫描工具对它进行测试

找到漏洞后,通过工具框架,漏洞公布平台,复现文章参考等进行漏洞利用。
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第8张图片
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第9张图片

开发框架类源码渗透测试-咨讯-spring

使用Vulhub一键搭建漏洞测试靶场(https://vulhub.org/),我们知道是什么框架,在网上一搜,如果之前有复现过,那直接上手就完了
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第10张图片
按照Vulhub的操作步骤,启动环境,漏洞复现。如图
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第11张图片
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第12张图片
这个漏洞就是执行命令,漏洞放在你面前,你要去学会活学活用,看这个漏洞是什么漏洞,然后你要去修改这个漏洞,网上是给了相应的利用方式,代码要达到自己的目的,我们就要去学习修改

我们碰到框架,就要去找框架相对应的漏洞,直接用可以;在网上搜关键字漏洞也能搜到
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第13张图片
关于漏洞产生的原理,这些我们不需要懂,这些是属于代码层面的东西

有的在网上有直接的利用工具,我们直接利用,有的没有,那就利用网上的相关资讯,复现的过程,漏洞的介绍,再寻找利用的文章,按步就搬的来就完事了

已知CMS非框架类渗透测试报告-工具脚本-wordpress

登录墨者学院,启动靶场环境
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第14张图片
使用在线网站进行cms识别,通过底部版权信息获得,看数据包的加载情况里面有没有特殊地址
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第15张图片
去搜索特定路径获取CMS框架信息
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第16张图片
知道是wordpress,我们就可以搜索它的漏洞,搜索它的利用工具
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第17张图片
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第18张图片
有利用工具,我们就优先使用工具去搞,没有必要一个个的去点开文章,去搞,因为这样子搞会方便快捷

漏扫能扫出来的工具,网上早就公开了,大部分网上公开漏洞,都是通过网站的代码分析到的,我们知道cms结构之后,思路直接跳到工具框架这里来,不要直接用漏扫去扫,在网上找它的漏洞就完事了,因为检测工具有漏洞,网站绝对有,如果网站没有,漏扫也绝对不会扫出来,扫出来的大部分是误报

我们这里使用wpscan进行扫描,这个工具是专门用来扫描wordpress的
https://wpscan.com/
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第19张图片
新版本需要调用它免费的token,才能调用wpscan的漏洞库,扫描网站的漏洞,我们注册个账号,登录进去,使用这个apitoken
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第20张图片
在kali上启动扫描

wpscan --url http://2xx.15x.49.2x8:4xx40/ --api-token <mytoken>

43 漏洞发现-WEB应用之漏洞探针类型利用修复_第21张图片
查看参考地址,把exp下载下来,直接利用就好了
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第22张图片
参考网上的复现文章,也可以
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第23张图片

已知CMS非框架类渗透测试报告-代码审计-qqyewu_php

打开靶场,这是一个很小众的程序
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第24张图片
我们不知道这个是什么cms,所以我们可以去网上找源代码进行代码审计
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第25张图片
使用代码审计工具进行审计
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第26张图片
我们先检查一下有没有sql注入,我这里使用mysql监控插件,我们可以刷新页面看一下数据库的执行语句
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第27张图片
加载语句可能会产生注入,我们看一下语句什么地方可以控制,唯独这里有变量,因为127.0.0.1不像是数据库执行语句里面的函数或参数,所以这个地方存在一个变量
在这里插入图片描述
我们去找首页文件,因为是加载首页文件,所以才调用了这串执行语句,我们去找select,并不是数据库的语句
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第28张图片
搜索IP,也没有发现什么关键字
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第29张图片
如果都没有的话,可能是包含文件,我们采用全局搜索,搜索关键字
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第30张图片
来到代码这里,调用函数是ywdd
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第31张图片
我们在首页这里,确认一下,是不是ywdd函数,getip是不是它里面引用的参数
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第32张图片
也就是说ip被赋值127.0.0.1,ip这里传输的是getip值
在这里插入图片描述
我们可以更改realip的值,所以我们尝试去修改http_x_forwarded_for
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第33张图片
打开对应的地址,修改地址信息
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第34张图片
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第35张图片
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第36张图片
有源码就能实现代码攻击,没源码就用工具,或者在网上找文章,代码审计一般是迫不得已的情况下使用的,因为这个过程很漫长

在前期我们要花很长时间去看一下程序源码,然后你在去找漏洞,因为这个过程我是讲课,我直接就找到了,如果再实战情况下还需要花十几二十分钟对源码进行分析

未知CMS非框架类渗透测试报告-人工-你我都爱的wg哦~

我们不可能在一两个小时挖出漏洞,那么牛逼,我们还搞网安干嘛

如果有后台地址,可以尝试弱口令;IP地址路径没有的话,可以扫端口;挖漏洞的时候,希望越大,失望越大

4个8和3个8是宝塔漏洞
可以在源代码中寻找数据库配置文件
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第37张图片
但是连接不上去
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第38张图片
又重新翻,又发现一个账号
43 漏洞发现-WEB应用之漏洞探针类型利用修复_第39张图片
连接成功
在这里插入图片描述

你可能感兴趣的:(小迪安全,前端)