一、手写一个带sql注入的页面
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']."</br>";
echo "用户名".$row['username']."</br>";
echo "密码".$row['password']."</br>";
}
mysql_close($conn);//关闭数据库连接
echo "<hr>";
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 就是你要传进入