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

目录

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

在这里插入图片描述

已知CMS

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

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

在漏洞平台搜索特定关键字,看是否报过漏洞
在这里插入图片描述

工具框架是针对特定的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",寻找测试网站
在这里插入图片描述
构造错误的url,查看错误回显,确定网站使用thinkphp框架及其版本
在这里插入图片描述
使用专门工具对thinkphp进行漏洞挖掘,比如
TPScan(jar文件):一键ThinkPHP漏洞检测具(参考:https://www.jeeinn.com/2021/03/1493/)
工具下载地址:https://github.com/tangxiaofeng7/TPScan
在这里插入图片描述
在这里插入图片描述
TPScan(基于Python3):一键ThinkPHP漏洞检测工具:https://github.com/Lucifer1993/TPscan

thinkPHP5.x远程命令执行(getshell)测试工具
地址:https://pan.baidu.com/s/17UOif8XD_-V_IMVAHXVlcw 提取码: 31x2
在这里插入图片描述
这个资产就没有漏洞,我们知道对方的一个情况就可以使用扫描工具对它进行测试

找到漏洞后,通过工具框架,漏洞公布平台,复现文章参考等进行漏洞利用。
在这里插入图片描述
在这里插入图片描述

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

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

我们碰到框架,就要去找框架相对应的漏洞,直接用可以;在网上搜关键字漏洞也能搜到
在这里插入图片描述
关于漏洞产生的原理,这些我们不需要懂,这些是属于代码层面的东西

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

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

登录墨者学院,启动靶场环境
在这里插入图片描述
使用在线网站进行cms识别,通过底部版权信息获得,看数据包的加载情况里面有没有特殊地址
在这里插入图片描述
去搜索特定路径获取CMS框架信息
在这里插入图片描述
知道是wordpress,我们就可以搜索它的漏洞,搜索它的利用工具
在这里插入图片描述
在这里插入图片描述
有利用工具,我们就优先使用工具去搞,没有必要一个个的去点开文章,去搞,因为这样子搞会方便快捷

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

我们这里使用wpscan进行扫描,这个工具是专门用来扫描wordpress的
https://wpscan.com/
在这里插入图片描述
新版本需要调用它免费的token,才能调用wpscan的漏洞库,扫描网站的漏洞,我们注册个账号,登录进去,使用这个apitoken
在这里插入图片描述
在kali上启动扫描

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

在这里插入图片描述
查看参考地址,把exp下载下来,直接利用就好了
在这里插入图片描述
参考网上的复现文章,也可以
在这里插入图片描述

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

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

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

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

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

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

4个8和3个8是宝塔漏洞
可以在源代码中寻找数据库配置文件
在这里插入图片描述
但是连接不上去
在这里插入图片描述
又重新翻,又发现一个账号
在这里插入图片描述
连接成功
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/443508.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 核心模块揭秘 | 05 期 | 读事务和只读事务的变形记

事务都以读事务身份启动&#xff0c;读事务和只读事务会在需要时发生变化&#xff0c;它们会怎么变化&#xff1f;这是本文要回答的问题。 作者&#xff1a;操盛春&#xff0c;爱可生技术专家&#xff0c;公众号『一树一溪』作者&#xff0c;专注于研究 MySQL 和 OceanBase 源码…

【MATLAB源码-第130期】基于matlab的BPSK-ZF迫零均衡,对比均衡前后的误码率曲线以及理论曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 信道均衡是通信系统中的一项关键技术&#xff0c;其主要目的是减少或消除由于信道特性导致的信号失真。在数字通信中&#xff0c;尤其是在无线通信系统中&#xff0c;由于多径传播等原因&#xff0c;接收到的信号会受到严重的…

0131-2-关于事件捕获和冒泡

关于事件捕获和冒泡 DOM事件流分为三个阶段&#xff1a;捕获阶段、目标阶段、冒泡阶段 点击目标元素后&#xff0c;不会马上触发目标元素&#xff0c;而是先执行事件捕获&#xff0c;从顶部逐步到目标元素&#xff1b;处于目标阶段的时候触发目标元素&#xff1b;最后冒泡阶段…

java代码中调用自定义函数

定义函数 CREATE DEFINERrootlocalhost FUNCTION test_fun1(num1 FLOAT,num2 FLOAT) RETURNS float BEGINDECLARE SUM FLOAT DEFAULT 0;SET SUMnum1num2;RETURN SUM; END <select id"cunchu" resultType"java.util.Map">SELECT test_fun1(1,2) as r…

v-if及v-for、computed计算属性的使用

v-if 概念及使用 v-if是Vue.js中的一个指令&#xff0c;用于根据表达式的真假值条件性地渲染一块内容。如果表达式的值返回真&#xff0c;则Vue会渲染这块内容&#xff1b;如果返回假&#xff0c;则不渲染。 基本用法: <p v-if"isVisible">看到我了吗&#…

armbian ubuntu 小盒子安装nodejs npm vue3 环境

1.直接通过apt-get install nodejs 的版本太低了 我的是v12 我试了下 npm create vuelatest这种方式不行 所以就卸载了自动安装的nodejs apt remove nodejs 去淘宝的ftp上下载对应的版本 CNPM Binaries Mirror 我的小盒子是linux arm64版本 wget 之后解压 然后创建符号…

【C++】笔试训练(八)

目录 一、选择题二、编程题1、两种排序方法2、求最小公倍数 一、选择题 1、关于重载函数&#xff0c;哪个说明是正确的&#xff08;&#xff09; A 函数名相同&#xff0c;参数类型或个数不同 B 函数名相同&#xff0c;返回值类型不同 C 函数名相同&#xff0c;函数内部实现不…

LeetCode —— 17. 电话号码的字母组合

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

配置vite自动按需引入 vant 组件

为什么学 按需加载可以减少包体积,优化加载性能 学习内容 全局注册组件 import 需要的组件import 组件样式使用 app.use 注册组件 Tree Shaking 介绍使用 什么是 tree shaking&#xff1f; Tree shaking是一种优化技术&#xff0c;用于减少JavaScript或其他编程语言中未被使用…

EAS之WALT算法介绍

EAS调度器缘起 Linux内核的一直都使用完全公平调度器CFS(Completely Fair Scheduler)作为默认调度器&#xff0c;但是在使用中发现CFS如下几个问题。 1. CFS主要是为了服务器性能优先场景而设计的&#xff0c;主要目标是最大限度地提高系统的吞吐量&#xff0c;CFS调度的目标…

IDEA快捷键大全

提示&#xff1a; ① 主要记录我在使用 IDEA 开发的过程中用到的快捷键&#xff0c;可以提高开发速度。 ② 不一定要全部记住&#xff0c;主要是当一个参考文档&#xff0c;大家有一点印象&#xff0c;随时可以查看。 参考博客 > IntelliJ IDEA 快捷键说明大全&#xff08;官…

写静态页面——浮动练习

0、效果&#xff1a; 1、html代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>浮动…