sqli-libs基础篇总结(1-22)

1.关于sqli-labs

这个是sql注入的靶场。可以在git上下载。

2.题目简介

前面的1-22题都是sql注入的基础题目。覆盖范围很广,不过都是针对mysql数据库的。

1-4题:union注入

5-8题:布尔盲注

9-10题:延时盲注

11-12题:post形式的显错注入

13-16题:post形式的布尔盲注

17题:update语句的显错注入

18-19题:http头显错注入

20-22题:cookie显错注入

3. 解题技巧

(1)对于sql注入靶场,这种基础型的。不需要把数据库的所有数据挨个找出来。关键点在于闭合sql语句,达到页面可控。也就是当你找到注入方式就可以了,如何判断是否找到注入方式呢,就是你插入的语句都按照预期执行了,就可以了。

(2)常用闭合语句:

  • ?id=1'#
  • ?id=1#
  • ?id=1')#
  • ?id=1'))#
  • 我发现mysql的"有点特殊,一般再php写的很少使用,好像是直接把php代码中的sql语句的字符串给闭合了,而不是闭合查询语句。

(3)常用函数

  • updatexml()  通常用法是 updatexml(0,concat(0x7e,database(),0x7e),1) 。用于报错注入
  • sleep() 用于延时注入,配套的还有length()等等

4.总结:

(1)我大部分都是看着源码来定向注入的。

(2)注入第一步应该就是要触发sql的报错,根据报错信息猜测sql查询语句,报错内容常用单引号引起来。

(3)我时常在想,都是基于报错注入的,那要是不报错是不是这些都不好使了呀。不过代码审计的时候这些都是关键点。

且看看进阶题都是些什么吧。

你可能感兴趣的:(web安全)