利用SQL注入漏洞拖库的方法


  本文标签:SQL注入漏洞

想在本地测试的话,可以在此免积分下载:利用SQL注入漏洞拖库
同上一篇文章一样,我们需要创建数据表,并在表中出入几条数据以备测试之用 。
在数据库中建立一张表:
复制代码 代码如下:

CREATE TABLE `article` (
`articleid` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) CHARACTER SET utf8 NOT NULL DEFAULT ,
`content` text CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`articleid`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

在表中插入数据的操作我就不贴代码了,可以去下载下来直接导入到数据库 。
接下来,写一个处理用户请求的页面,这里,我们故意不过滤用户提交过来的数据,留下个SQL注入漏洞用来测试 。
代码如下:
复制代码 代码如下:

<?php
$servername = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "test";
$id=$_GET[id];//id未经过滤
$conn=mysql_connect($servername,$dbusername,$dbpassword) or die ("数据库连接失败");
mysql_select_db($dbname,$conn);
mysql_query(set names utf8);
$sql = "SELECT * FROM article WHERE articleid=$id";
$result = mysql_query($sql,$conn);
$row = mysql_fetch_array($result);
echo "<p>利用SQL注入漏洞拖库<p>";
if (!$row){
echo "该记录不存在";
exit;
}
echo "标题<br>".$row[title]."<p>";
echo "内容<br>".$row[content]."<p>";
?>

我们直接在浏览器中输入:
http://127.0.0.1/marcofly/phpstudy/sqlinsert/showart.php?id=1
即可访问article表中id为1的一条记录
访问结果如下: