首页 » Web前端 » phpoop最终类技巧_某 cms v42126通杀sql注入

phpoop最终类技巧_某 cms v42126通杀sql注入

访客 2024-11-07 0

扫一扫用手机浏览

文章目录 [+]

0x00 序言

厂商:74cms

phpoop最终类技巧_某 cms v42126通杀sql注入

下载地址:http://www.74cms.com/download/index.html

phpoop最终类技巧_某 cms v42126通杀sql注入
(图片来自网络侵删)

关于版本:

新版的74cms采取了tp3.2.3重构了,以是可知底层是tp,74cms新版升级是后台升级的,以是先将将升级方法。

注:此漏洞不用升级至最新版本也可利用。

0x01 74cms升级到最新版

1, 先辞官网下载 骑士人才系统根本版(安装包)

2, 将下载好的包进行安装

3, 进入后台点击查看如果不是最新版的话,请点击升级!

5, 如果是本地环境的话,会提示 域名不合法升级失落败,这个问题很好办理

6, 搜索文件74cms\upload\Application\Admin\Controller\ApplyController.class.php

7, 查找所有$_SERVER['HTTP_HOST'] 改为 http://baidu.com 即可

0x02 数据添补不然没得测试

注:这个漏洞须要在有职位数据的情形下,才能利用。
正式环境中,由于都是有数据的以是直接注入即可。
不过由于我们是测试环境以是须要我们自己添加一些数据来担保网站的正常运行

0x02.1注册商家账号方便测试

首先先注册一个商家用户然后发布一条,注册商家直接去后台注册最大略了

注册完成往后将此商家用户登录前台

登录完毕往后跳转到:http://74cms.test/index.php?m=&c=company&a=com_info

设置商家书息

然后跳转到:http://74cms.test/index.php?m=&c=Company&a=jobs_add

随便发布一条事情即可

0x02.2注册普通账号方便测试

一样的前台注册须要短信,我穷,付不起短信费

注册完成往后登录前台即可

注:一定要登录,由于数据量太少,不登录,过不去验证

0x03 sql漏洞演示

然后输入地址:

http://74cms.test/index.php?m=&c=jobs&a=jobs_list&lat=23.176465&range=20&lng=113.35038%27

注:x,y 不超过 1即可

详情页new BMap.Point 搜索出来的值便是 x,y 值

可能上面的内容有人会以为奇怪,便是这个url实战中你是怎么得到的?实在你可以这样。

这样的话只要点击完往后有数据 你在 lat lng 字段都可以正常的进行注入

Payload: http://74cms.test/index.php?m=&c=jobs&a=jobs_list&lat=23.176465&range=20&lng=113.35038 PI() / 180 - map_x PI() / 180) / 2),2))) 1000) AS map_range FROM qs_jobs_search j WHERE (extractvalue (1,concat(0x7e,(SELECT USER()), 0x7e))) -- a

剩下的自己注 :)

0x04 漏洞事理

老样子一步步剖析吧。

先从地址开始剖析

地址:http://74cms.test/index.php?m=&c=jobs&a=jobs_list

范例的mvc构造

m 层可以看到为空,我们可以打开目录

74cms\upload\Application\Common\Conf\config.php 查看DEFAULT_MODULE 参数

因此可以确定

M = home

C = jobs

A = jobs_list

翻译一下的意思便是 Home 目录 下面的jobs 文件里面的jobs_list 方法

跟进去

跟进来往后,创造我们的lng 参数并没有在jobs_list 方法,但是在外部的时候的却是这个类。

这是由于74cms 利用了 thinkphp 的 tag 也便是标签库驱动 。

以是我们在这里并没有看到干系的代码快,由于他是直接嵌了V层中实行也便是我们常说的视图层。

想理解这一块的

上官网下载thinkphp3.2手册 搜索tag

即可得到详细信息

跟进视图层进行查看

找到了视图文件:

74cms\upload\Application\Home\View\default\Jobs\jobs_list.html

根据图中的条件可得知详细目录名为

74cms\upload\Application\Common\qscmstag\jobs_listTag.class.php

解释我们的猜想是没有错的。

为了不摧残浪费蹂躏大家的韶光,我就只管即便选重点讲,避免摧残浪费蹂躏大家韶光!

这里我们须要理解一下。

首先是我们可外部掌握的值

以是终极我们符合条件的内容都会赋值为$this->params

知道这个接口,我们连续注入点,由于前面的东西有太多和我们的这个注入无关的东西了以是我们忽略掉

我上图中还圈出来的第二个圈圈,可以看到 $this->params[lat] 与 $this->params[lng] 赋值并且没有过滤给了$this->field 而大部分的php框架在 field 可掌握的情形下大部分都是有注入问题的,以是这里我基本可以通过履历确定,只要带入了进行查询那便是一个注入漏洞。

这里的布局方法知道这些即可,其他的都不是很主要

这里我们打印一下,终极处理的内容

好了知道这些前置条件往后我们连续。

在实行完这个布局函数往后,还会自动的实行run() 方法

0x05 修复方法

$this->field = \"大众id,ROUND(6378.1382ASIN(SQRT(POW(SIN((\"大众.floatval($this->params['lat']).\"大众PI()/180-map_yPI()/180)/2),2)+COS(\公众.floatval($this->params['lat']).\"大众PI()/180)COS(map_yPI()/180)POW(SIN((\公众.floatval($this->params['lng']).\公众PI()/180-map_xPI()/180)/2),2)))1000) AS map_range\"大众;

强转为浮点型,防止注入

作者:phpoop&先知社区

标签:

相关文章

典韦出装攻略,勇猛无匹,战无不胜

典韦,作为《王者荣耀》中的一员猛将,凭借其强大的生存能力和恐怖的输出,深受广大玩家的喜爱。在游戏中,出装对于典韦的战斗力有着至关重...

Web前端 2025-01-01 阅读0 评论0

兰五笔输入法,助力高效写作的得力助手

随着科技的发展,电脑已经成为我们日常生活中不可或缺的工具。在众多电脑操作中,输入法无疑是其中最为基础且频繁使用的一项功能。而兰五笔...

Web前端 2025-01-01 阅读0 评论0