Sqli-labs通关记录
第一关
‘检查闭环
输入?id=1
正常
输入?id=1'
报错 ‘ .0 ‘
输入?id=1'--+
正常
判断是字符型注入,闭合方式是’
总结:在sql注入里如果后面跟上’出现了报错,说明此程序存在sql注入的可能性
我的困扰
图片中出现了五个问题
1.order by 有什么作用?
排序作用如order by 2
的作用就是根据表的第二列来排序
2.?id=1’ and 1=2 怎么理解?为什么1要=2?
首先单’可以如若报错说明此处是sql注入闭环的漏洞,其次1=2是一种绕开条件的方式 在and的时候两边只要有一边是假,就会返回假,自然select查询也就会报错,返回值就是空了,从而继续对下一步进行查询了
3.union select是什么功能?
union select 可以把查询到的数据结合在一起
4.group_concat
如图可以把name作为查找条件,然后把查找到的信息通过自己想要的方式分隔,和在一行中
此功能可以
第二关
何为数字型注入?
查询出有哪些数据库
查找出有哪些表
在上一步有个数据库很特别ctfshow,肯定就是他有问题
查找出这个数据库里面有什么表格
查找出有哪些列名
查出密码
查找ctfshow里面的唯一的一列,也就是flagaa列,内存密码
第三关
很明显第三关是字符注入型,只要输入字符就会报错
用字符的方式同样重复上面的查找过程就可以找出密码
第四关
第四关说明了字符报错型的也会有不同的报错字符 这题报错字符是”)
第五关
第五关用到了新的知识
left
作用是截取从左开始的前四个select left(330845,4)
结果等于3308
right
作用是截取从右开始的后四位select right(330845,4)
结果等于0845
substring
作用是截取第三个字符开始往后五个字段,结果等于人名共和国select substring('中华人民共和国',3,5)
作用是截取第三个字符往后的字段,结果等于人民共和国select substring('中华人民共和国',3)
作用是截取三个字符,从后往前,结果等于共和国select substring('中华人民共和国',-3)
作用是截取倒数第三个字符开始,两个字符,结果等于共和select substring('中华人民共和国',-3,2)
作用是截取第二个.之前的所有内容,结果是www.baiduselect substring_index('www.baidu.com','.',2)
作用是截取倒数第二个逗号之后所有的字符,结果是baidu.comselect substring_index('www.baidu.com','.',-2)
作用是截取name字段,取除name字段后三位的所有字符,结果是中国人民substr('中国人民解放军',1,char_length('中国人民解放军')-3)
作用是截取第一位开始2个长度(长度可以忽略)mid('中国海军',1,2)
现在也许破破烂烂,但是将来成功的我会感谢现在的自己!
ps:布尔注入就是闭合类型,时间注入就是通过输入时间返回的时间是否有变化判断
第六关
第七关
运用到新知识DNSlog
第八关
七八两关都是用DNSlog 外带平台注入 要明白如何使用就可以查到表格 进行爆库
第九关
第九关告诉我们一个新消息 就是you are in 是时间盲注的标志