一、手写一个带sql注入的页面
php+mysql注入页面编写步骤
1.接受参数
2.连接数据库
3.组合sql语句
4.执行sql语句并返回显示
新建一个sqltest.php的文件、并添加以下代码
//fendo数据库root用户连接mysql数据库,操作user表
$id= $_GET['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']."";
echo "用户名".$row['username']."";
echo "密码".$row['password']."";
}
mysql_close($conn);//关闭数据库连接
echo "
";
echo "当前语句:";
echo $sql
?>
然后通过phpmyadmin新建一个数据库fendo
并创建user表
然后在user表中加入以下字段id、username、password
点击保存。
插入一些数据
也可以直接导入下面的sql代码
--
-- 数据库: `fendo`
--
-- --------------------------------------------------------
--
-- 表的结构 `user`
--
CREATE TABLE IF NOT EXISTS `user` (
`id` int(10) NOT NULL,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
--
-- 转存表中的数据 `user`
--
INSERT INTO `user` (`id`, `username`, `password`) VALUES
(1, 'fendo', 'fendo8888'),
(2, 'fendo1', 'fendo8888'),
(3, 'fendo3', 'fendo8888'),
(4, 'fendo4', 'fendo8888'),
(5, 'fendo5', 'fendo8888'),
(6, 'fendo6', 'fendo8888'),
(7, 'fendo7', 'fendo8888'),
(8, 'fendo8', 'fendo8888'),
(9, 'fendo9', 'fendo8888');
二、测试页面
然后访问: http://localhost/sql/sqltest.php?x=1 其中?x=xxxx 就是你要传进入