一、手寫一個帶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 就是你要傳進入