请选择 进入手机版 | 继续访问电脑版
查看: 390|回复: 13

关于一次对sql二次注入的学习!

[复制链接]
  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 336 天

    [LV.8]以坛为家I

    发表于 2016-11-23 14:18:00 | 显示全部楼层 |阅读模式
    刚学几天php,然后看到了二次注入这个办法,我就想本地搭建测试下!然后过程如下:
    首先附上代码:
    [AppleScript] 纯文本查看 复制代码
    <html>
    <head>
    <title>SQL注入</title>
    </head>
    <body>
    <h1>二次注入!<h2>
    <form action="" method="post">
    用户名注册:<input type="text" name="user"><br>
    密码注册:<input type="text" name="pass">
    <input type="submit" name="submit" value="注册">
    <br>sql插入数据语句如下:</br>
    <?php
    $user=$_POST["user"];
    $pass=$_POST["pass"];
    $conn=mysql_connect("localhost","root","root");
    if(!$conn){
    	die("error!");
    }
    //if(isset($user1) && isset($pass1)){
    $user=addslashes($user);
    $pass=addslashes($pass);
    mysql_select_db("test",$conn);
    $sql="insert into test (test1,test2) values ('$user','$pass')";
    $sql1=mysql_query($sql,$conn);
    if($sql1){
    	echo $sql . "<br>";
    } else {
    	"写入失败。";
    }
    /*} else {
    	echo "请输入账号密码注册!";
    }*/
    ?>
    </body>
    </html>

    [AppleScript] 纯文本查看 复制代码
    <html>
    <head>
    <title>SQL注入</title>
    </head>
    <body>
    <h1>二次注入!<h2>
    <form action="" method="post">
    账号查询:<input type="text" name="name">
    <input type="submit" name="submit"><br>
    <?php
    header('Content-type: text/html; charset=utf-8');
    $name=$_POST["name"];
    $name=addslashes($name);
    $conn=mysql_connect("localhost","root","root");
    if(!$conn){
    	die("error!");
    }
    mysql_select_db("test",$conn);
    $sql="select * from test where test1='{$name}'";
    $sql1=mysql_query($sql,$conn) or die(mysql_error());
    $rows=mysql_fetch_array($sql1);
    $pass=$rows['test2'];
    if($sql1){
    	
    	//$pass=$rows['test2']
    	$sql2="select * from test where test2='$pass'";
    	$sql3=mysql_query($sql2) or die(mysql_error());
    	 echo "<br>";
    	 print_r($sql3);
    	var_dump($sql3);
    	echo "查询语句:" . $sql2;
    } else {
    	"查询失败。";
    }
    ?>
    </body>
    </html>

    小菜刚学几天php,所以代码写的特别乱,还有很多地方写的多余。但是都是自己慢慢一步步写的,慢慢百度学习的,
    并没有copy网上脚本或者修改的。所以代码太渣,还望大家谅解。
    总结帮助不太了解的小伙伴理理思路:
    1.首先通过账号密码注册向数据库写入单引号。由于存在转移,所以直接注入是不行的。但是我们的单引号会写入数据库中储存。
    2.通过查询账号将我们刚才写入的带有单引号的数据select出来。(我写在密码中的,你也就可以这么理解,找回密码处,你输入账号,他就会将密码select出来给你)
    这个时候,并没有对单引号进行过滤,所以就造成了引入单引号。造成了注入。

    1.这里我首先写入了账号123456',密码123456的作为测试。很明显看到了单引号被转移了。所以不存在注入。

    刚才的单引号存在数据库中的数据却没有转移,直接就是123456'。

    然后我将类似的注入语句写入了进去,账号123,密码:1' and updatexml(1,concat(0x7e,(version())),0) or ' 类似的报错语句都可以。

    然后我们在查询账号来输出密码。就看到了成功造成了注入。注意看mysql监控中的两条语句的内容和先后顺序。

    然后和上面同样的道理写入查询版本的语句。

    然后也出来了。二次注入就是先向数据库写入带单引号的注入语句,在来查询出来。
    文章只为和大家分享科普文,大牛勿喷!同时问个php问题如下:

    如果有学php的小伙伴,可以一起学习php。






    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    评分

    参与人数 1i币 +1 收起 理由
    linghun + 1 感谢分享

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-4-21 10:06
  • 签到天数: 310 天

    [LV.8]以坛为家I

    发表于 2016-11-23 15:42:11 | 显示全部楼层
    吓到宝宝了,实话说,几天?

    点评

    好像是第6天了,代码虽少,但我却写了几小时,一直在出错!  详情 回复 发表于 2016-11-23 17:07
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-4-25 09:19
  • 签到天数: 613 天

    [LV.9]以坛为家II

    发表于 2016-11-23 15:48:05 | 显示全部楼层
    先学好mysql语法

    点评

    嗯嗯,90表哥说得在,目前在同时学习mysql语法!  详情 回复 发表于 2016-11-23 17:08
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 336 天

    [LV.8]以坛为家I

     楼主 发表于 2016-11-23 17:07:49 | 显示全部楼层

    RE: 关于一次对sql二次注入的学习!

    xiaoye 发表于 2016-11-23 15:42
    吓到宝宝了,实话说,几天?

    好像是第6天了,代码虽少,但我却写了几小时,一直在出错!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 336 天

    [LV.8]以坛为家I

     楼主 发表于 2016-11-23 17:08:23 | 显示全部楼层

    RE: 关于一次对sql二次注入的学习!

    90_ 发表于 2016-11-23 15:48
    先学好mysql语法

    嗯嗯,90表哥说得在,目前在同时学习mysql语法!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-19 01:02
  • 签到天数: 295 天

    [LV.8]以坛为家I

    发表于 2016-11-23 17:12:22 | 显示全部楼层
    不错,妹子有前途!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 08:52
  • 签到天数: 328 天

    [LV.8]以坛为家I

    发表于 2016-11-23 21:28:08 | 显示全部楼层
    楼主很不错。前几天买了《sql注入攻击与防御》,发现不学php不行了,就开始学。跟楼主学习学习。

    点评

    大兄弟说笑了!一起学习!  详情 回复 发表于 2016-11-23 23:13
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2016-12-13 18:32
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2016-11-23 22:15:51 | 显示全部楼层
    厉害了

    点评

    一起学习走一波!  详情 回复 发表于 2016-11-23 23:13
    来自苹果客户端来自苹果客户端
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 336 天

    [LV.8]以坛为家I

     楼主 发表于 2016-11-23 23:13:24 | 显示全部楼层

    RE: 关于一次对sql二次注入的学习!

    周翔宇 发表于 2016-11-23 21:28
    楼主很不错。前几天买了《sql注入攻击与防御》,发现不学php不行了,就开始学。跟楼主学习学习。 ...

    大兄弟说笑了!一起学习!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 336 天

    [LV.8]以坛为家I

     楼主 发表于 2016-11-23 23:13:48 | 显示全部楼层

    RE: 关于一次对sql二次注入的学习!


    一起学习走一波!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表