午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

pdo - mysql 簡單注入疑問

瀏覽:166日期:2022-06-19 08:39:34

問題描述

pdo - mysql 簡單注入疑問mysql數據庫表user結構如圖,php版本5.4.31

$uid='1’; select * FROM user;';

直接用:

$result=mysql_query('select * from user where uid=’$uid’ ');

mysql_error()顯示

`You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’select * FROM user;’’ at line 1`

和用pdo查詢:

$sql='select * from user where uid=’$uid’ ';$res=$pdo->query($sql);

顯示$res是空

請問大神我構造的mysql注入語句是不是有錯...我主要目的是想測試不同的mysql注入語句,pdo_mysql的防護性

問題解答

回答1:

$uid='1’; select * FROM user;';這種聲明其實和你的測試沒關系,反而造成困擾,你可以直接測試mysql_query('select * from user where uid=1; select * from user')。我沒深入研究過這個東西,但是你的兩種測試是等價的,都會被注入。

最簡單的注入問題例子是 $username = 'It’s test',然后被執行的時候變成 'select * from user where username=’It’s test',引發語法錯誤。而PDO等通過預處理防止此類問題,如 $pdo->query('select * from user where username=?', array('It’s test'));此時會適當轉意起到防注入作用,但是像你的例子中直接$pdo->query($sql)這種用法,防護機制此時根本不會產生任何效果的。

大意如此,自己理解吧。

最近工作很忙,大部分邀請都只好忽略了,偶爾回答幾個也沒時間說太多,只能說抱歉了。

回答2:

mysql_query時,拼接的SQL語句是,是不合法的

select * from user where uid=’1’; select * FROM user;’

想辦法把單獨的’閉合,改成下面的代碼就可以了:

$uid='1’; select * FROM user where uid=’';

PDO會自動轉義,查詢的以下語句,所以為空。

select * from user where uid=’1’; select * FROM user;’回答3:

自己發現問題了:

直接使用$uid= '888’ or ’2=2';

整個user表的內容都爆出來了

相關文章:
主站蜘蛛池模板: 欧美一级视频在线观看 | 成人做爰www免费看视频网站 | 精品自拍视频 | 无遮挡黄色 | 亚洲国产成人精品女人 | 在线观看二区 | 91热在线| 欧美日韩一区二区三 | 中文字幕一区二区三区不卡 | 亚洲精品自拍偷拍 | 99这里只有精品视频 | 国偷自拍 | 鬼吹灯之天星术在线观看 | 亚洲成a人片在线www | 国产精品视频久久久久 | 国产91精品一区二区 | av色哟哟 | 亚洲一区二区在线免费 | 色综合天天操 | 日韩精品一区二区三区在线播放 | 天天躁日日躁aaaaxxxx | mm131午夜| 日韩免费中文字幕 | av毛片在线播放 | 天天操夜夜欢 | 91在线网| 色女人av | 亚洲欧美日韩国产精品 | 黄色在线观看国产 | 天天久| 午夜高清 | 欧美影院一区二区 | 国产福利91精品一区二区三区 | 色视频导航 | 五月婷综合| 亚洲综合在线观看视频 | 一呦二呦三呦精品网站 | 中文字幕有码在线 | 国产一级片免费视频 | 黄色片久久久 | 欧美人一级淫片a免费播放 九九热视频免费观看 |