常見sql注入原理詳解!
1、首先我們建立一個mysqli的連結
/**資料庫配置*/
$config = [`hostname`=>”localhost”, `port`=>”3306″, `username`=>”root”,`password`=>“,`db`=>`sql`];
/**接收引數*/
$id = $_GET[`id`]?$_GET[`id`]:””;
if(empty($id)){
echo “article is not def”
}
/**連結資料庫*/
$mysqli = new mysqli($config[`hostname`],$config[`username`],$config[`password`],$config[`db`]);
/**設定編碼*/
$mysqli->set_charset(“utf8”);
url數字注入結果測試
我們訪問url:http://localhost/mysql/index.php?id=1
結果展示:
array (size=2) `article_id` => string `1` (length=1) `title` => string `思夢php編寫:PHP操作Redis詳解案例` (length=44)
(1)/當我們在在url上稍作修改時:
http://localhost/mysql/index.php?id=1‘ //加一個單引號
這樣你的sql語句就會報錯
(2)我們再次修改url的時候
http://localhost/mysql/index.php?id=-1 or 1=1 //後面引數修改成這樣
結果展示了所有的文章列表
D:wampwwwmysqlindex.php:11:array (size=2) `article_id` => string `1` (length=1) `title` =>string `思夢php編寫:PHP操作Redis詳解案例` (length=44)
D:wampwwwmysqlindex.php:11:array (size=2) `article_id` => string `2` (length=1) `title` =>string `Mysql儲存過程從0開始(上)` (length=36)
D:wampwwwmysqlindex.php:11:array (size=2) `article_id` => string `3` (length=1) `title` =>string `思夢php編寫:PHP排序的幾種方法` (length=42)………….
2、表單注入,主要利用sql語句的註釋
$username = $_POST[`username`]?$_POST[`username`]:””;
$password = $_POST[`password`]?$_POST[`password`]:””;
$sql = “select * from tb_member where account=`$username`AND password=`$pass`”;
$res = $mysqli->query($sql);
$row = $res->fetch_assoc();
if($row){
echo “登入成功!”;
}else{
echo “賬號密碼錯誤!”;
}
正常輸入
列印:登入成功!
我們簡單修改一下
列印:登入成功!
原理:首先使用單引號結束sql語句,然後加#註釋後面的sql語句
同理另一種方式為
列印:登入成功!
原理:首先使用單引號結束sql語句,然後加(– )註釋後面的sql語句
相關文章
- SQL 注入技術詳解SQL
- SQL 注入攻防入門詳解SQL
- SQL隱碼攻擊之常見注入的步驟④SQL
- sql聯合注入原理SQL
- HTML常見標籤詳解HTML
- 常見開源協議詳解協議
- MySQL InnoDB常見引數詳解MySql
- HTML5常見標籤詳解HTML
- 詳解常見的損失函式函式
- C/C++常見錯誤詳解C++
- android WebView詳解,常見漏洞詳解和安全原始碼AndroidWebView原始碼
- SQL常見面試題SQL面試題
- SQL常見提問~SQL
- 派克斯常見錯誤程式碼詳解
- 常見的網路安全威脅詳解!
- 常見埠詳解(0-33600)
- SQL指令碼注入的不常見方法概括SQL指令碼
- 常見面試SQL問題面試SQL
- 交流共模電感常見型別詳解型別
- KVM簡介,安裝及常見使用詳解
- DNS常見資源記錄型別詳解DNS型別
- mount命令詳解及常見問題彙總
- HIDS 常見檢測原理
- 高併發解決方案詳解(9大常見解決方案)
- 常見的錯誤 SQL 用法SQL
- 幾種常見的NO SQL DBSQL
- SQL 常見資料型別SQL資料型別
- sql 常見增刪改查SQL
- SQL Server常見問題收集SQLServer
- Java 列舉(enum) 詳解7種常見的用法Java
- PopupWindow使用詳解(二)Popwindow製作常見花哨效果
- Python常見的三種分支語句詳解!Python
- 常見HTTPS攻擊及防禦方法詳解HTTP
- 常見路由器故障處理例項詳解路由器
- CSRF, XSS, Sql注入原理和處理方案SQL
- sql注入定義、原理、攻擊和防護SQL
- react 常見setState的原理解析React
- 常見hash演算法的原理演算法