Fork me on GitHub

CTFHub题解-技能树-Web-SQL注入(时间盲注、MySQL结构)【二】

CTFHub题解-技能树-Web(web工具配置-SQL注入)

 
 
 
 
 
 
 
(五)时间盲注
 
 
 
 
1.知识点
 
 
基于时间的盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。
 
盲注原理:
 
盲注的本质就是猜解,在没有回显数据的情况下,我们只能靠‘感觉’来体会每次查询时一点点细微的差异,而这差异包括运行时间的差异和页面返回结果的差异。
对于基于布尔的盲注来说,我们可以构造一条注入语句来测试我们输入的布尔表达式,而这布尔表达式结果的真假,决定了每次页面有不同的反应。
对于基于时间的盲注来说,我们构造的语句中,包含了能否影响系统运行时间的函数,根据每次页面返回的时间,判断注入的语句是否被成功执行。
 
 
常用函数:
 
 
If(exp,v1,v2):如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2 Substring(s,n,len):获取从字符串 s 中的第 n 个位置开始长度为 len 的字符串
Sleep(duration):在duration参数给定的秒数之后运行 
 
(注意:sleep 函数是只要存在一个满足条件的行就会延迟指定的时间,比如sleep(5),但是实际上查找到两个满足条件的行,那么就会延迟10s,这其实是一个非常重要的信息,在真实的渗透测试过程中,我们有时候不清楚整个表的情况的话,可以用这样的方式进行刺探~)
 
 
常用的判断语句:
' and if(1=0,1, sleep(10)) --+ 
 
" and if(1=0,1, sleep(10)) --+
 
) and if(1=0,1, sleep(10)) --+
 
') and if(1=0,1, sleep(10)) --+
 
") and if(1=0,1, sleep(10)) --+

 

 
 
但是对于笔者这种小菜鸡来说, sqlmap 它不香吗?(偷笑
(主要是对基于时间的盲注的手工注入实验做的还比较少,没什么手工注入的经验心得qwq,希望以后笔者可以学会手工注入!)
 
 
2.题解
 
 
sqlmap工具法:
 
 
 
 
 
 
 
 
 
 

 
 
(六)MySQL结构
 
 
 
1.知识点
 
 
 
MYSQL的隐式类型转换:
 
如果两个参数比较,有至少一个NULL,结果就是NULL,除了是用NULL<=>NULL 会返回1,不做类型转换。
两个参数都是字符串,按照字符串比较,不做类型转换。
两个参数都是整数,按照整数比较,不做类型转换。
如果不与数字进行比较,则将十六进制值视为二进制字符串。
有一个参数是 decimal 类型,如果另外一个参数是 decimal 或者整数,会将整数转换为 decimal 后进行比较,如果另外一个参数是浮点数,则会把 decimal 转换为浮点数进行比较
所有其他情况下,两个参数都会被转换为浮点数再进行比较。
 
 
利用算术运算符:
实际中我们接触到的语句都是带有引号的,类似于where username='+input+' 这样的,这时候我们就需要做一些处理来构造false注入的利用点。
 
输入+ 则相当于语句被转化为 where username="+"
+,-,*,/,%都是同理。

 

 
利用比较运算符:
   安全等于:<=>
'=0<=>1# 拼接的语句:where username=''=0<=>1#'

   不等于<>(!=)
'=0<>0# 拼接的语句:where username=''=0<>0#'

 

 
注入常用函数与字符:
mid()---从文本字段中提取字符
limit()---返回前几条或者中间某几行数据
concat、concat_ws、group_concat
MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
rand随机数(产生0,1之间随机数)

 

 
假如你和笔者一样,手工注入经验很少的话,那么用sqlmap是最好的选择!
 
 
2.题解
 
 
 
 
 
 
 
 
 
 
 
 
完成~
 
 
 
 
 
 
 
 
 
 
 
参考资料:
 
https://blog.csdn.net/m0_38103658/article/details/100160609
https://www.fujieace.com/penetration-test/mysql-injection-process.html
https://www.cnblogs.com/sylover/p/10826899.html
 
 
 
 
posted @ 2020-03-13 15:13  0yst3r  阅读(3594)  评论(0编辑  收藏  举报
返回顶部