随笔(随更新)
HTTP響應(yīng)頭拆分
- HTTP響應(yīng)頭拆分漏洞 是一種新型的web攻擊方案,它從新產(chǎn)生了很多保險漏洞包括:web緩存沾染、用戶信息涂改、竊取敏感用戶頁面、跨站腳本漏洞。這項攻擊計劃,包括其衍生的一系列技術(shù)產(chǎn)生,是因為web利用程序沒有對用戶的提交進行嚴格過濾,導(dǎo)致非法用戶可以提交一些歹意字符,更具體來說,是對用戶輸入的CR 和LF字符不進行嚴厲的過濾。
HTTP響應(yīng)頭拆分漏洞 及其相干的攻擊手段可以在良多的web環(huán)境中實現(xiàn),包含微軟的asp、asp.net,IBM WebSphere,BEA WebLogic,Jakarta Tomcat,MacromediaoldFusion/MX,Sun MicrosystemsSunONE;風(fēng)行的Squid和Apache服務(wù)器;流行的微軟IE6.0閱讀器。我不是在吹牛,許多大的站點都存在這樣的破綻,這讓我大吃一驚。 - HTTP響應(yīng)頭拆分攻擊實質(zhì)是:攻擊者可以發(fā)送一個或多少個HTTP指令迫使漏洞服務(wù)器發(fā)生一個攻擊者構(gòu)想好的輸出。它可以讓服務(wù)器誤把幾條HTTP請求看成一次實現(xiàn)的HTTP請求來說明。第一條請求也許攻擊者局部把持著一部門,但這并不是危險的;危險的是,攻擊者完整控制著第二條HTTP請求,即從HTTP狀態(tài)行始終到HTTP請求的尾部。假如這樣可行,攻擊者就會發(fā)送多個請求指令到目標體系:第一條使得服務(wù)器完全接收兩個HTTP響應(yīng),第二條響應(yīng)通常是在服務(wù)器上請求一些非法資源,而服務(wù)器將會主動匹配到第二條響應(yīng),輸出攻擊者想要請求的資源,從而到達攻擊者的目標。
- 通過這個思路,我們可以構(gòu)造出不拘一格的攻擊,具體來說:
1跨站腳本攻擊XSS:這是一個無比一般和老式的漏洞,它可以讓用戶通過運行了一段javascript或者html代碼后,可以截取該用戶的cookie和session。但是到當初,通過一些重定向腳本發(fā)動一次XSS攻擊是很難題的,尤其是當用戶使用最新補丁的IE瀏覽器的時候,除非位置頭是完全掌握的。但是當聯(lián)合HTTP響應(yīng)頭攻擊確是可以十分簡略實現(xiàn),即使只是部分控制地位頭。
2web緩存中毒咱們稱之為web損耗:這是一個新的攻擊技巧,攻擊者逼迫服務(wù)器高速緩存中記載了第二次HTTP要求,而服務(wù)器中的高速緩存記載的第二次懇求是經(jīng)由攻擊者精心結(jié)構(gòu)的。這將勝利的對目標站點進行損耗,當其余人拜訪目的站點時,他們僅僅讀取了高速緩存里的數(shù)據(jù),造成站點被 黑 的假象。當然,除了站點損耗之外,攻擊者也能夠偷取用戶的session跟cookie。
3 通過對用戶的攻擊:這是第二種方式的一個特殊情形。它對單個用戶的誘騙、對服務(wù)器單個頁面的損耗,和臨時的磨損,也可以偷取到特定用戶的session和cookie。
4 劫持詳細用戶的頁面敏感信息:攻擊者詐騙服務(wù)器,并獲得敏感用戶的權(quán)限,并進入其用戶的狀況,訪問到一些機密信息。
5 瀏覽器高速緩存中毒:這也是一項最新的攻擊方式,它這和跨站腳本攻擊方式有點類似,獨一的差異就是攻擊者強制瀏覽器高速緩存中記錄一個長和連續(xù)的磨損的網(wǎng)頁,直到瀏覽器的高速緩存已經(jīng)干凈。
(http://blog.chinaunix.net/uid-28924615-id-4290926.html)[http響應(yīng)頭分割技術(shù)]
http應(yīng)答分割攻擊
https://blog.csdn.net/mgxcool/article/details/73028346
WAF
Web應(yīng)用防護系統(tǒng)(也稱:網(wǎng)站應(yīng)用級入侵防御系統(tǒng)。英文:Web Application Firewall,簡稱: WAF)。利用國際上公認的一種說法:Web應(yīng)用防火墻是通過執(zhí)行一系列針對HTTP/HTTPS的安全策略來專門為Web應(yīng)用提供保護的一款產(chǎn)品
深入理解SQL注入繞過waf和過濾機制
https://blog.csdn.net/whatday/article/details/61912578
https://blog.csdn.net/ncafei/article/details/62044552
寬字節(jié)注入
寬字符是指兩個字節(jié)寬度的編碼技術(shù),如UNICODE、GBK、BIG5等。當MYSQL數(shù)據(jù)庫數(shù)據(jù)在處理和存儲過程中,涉及到的字符集相關(guān)信息包括:
(1) character_set_client:客戶端發(fā)送過來的SQL語句編碼,也就是PHP發(fā)送的SQL查詢語句編碼字符集。
(2) character_set_connection:MySQL服務(wù)器接收客戶端SQL查詢語句后,在實施真正查詢之前SQL查詢語句編碼字符集。
(3) character_set_database:數(shù)據(jù)庫缺省編碼字符集。
(4) character_set_filesystem:文件系統(tǒng)編碼字符集。
(5) character_set_results:SQL語句執(zhí)行結(jié)果編碼字符集。
(6) character_set_server:服務(wù)器缺省編碼字符集。
(7) character_set_system:系統(tǒng)缺省編碼字符集。
(8) character_sets_dir:字符集存放目錄,一般不要修改。
寬字節(jié)對轉(zhuǎn)義字符的影響發(fā)生在character_set_client=gbk的情況,也就是說,如果客戶端發(fā)送的數(shù)據(jù)字符集是gbk,則可能會吃掉轉(zhuǎn)義字符,從而導(dǎo)致轉(zhuǎn)義失敗
從寬字節(jié)注入漏洞原理可以看出,寬字節(jié)注入的關(guān)鍵點有兩個:
(1) 設(shè)置寬字節(jié)字符集;
(2) 設(shè)置的寬字符集可能吃掉轉(zhuǎn)義符號“”(對應(yīng)的編碼為0x5c,即低位中包含正常的0x5c就行了)。
理論上,符合第二條的字符集都可能導(dǎo)致寬字節(jié)注入漏洞,這里以gbk字符集為典型,介紹寬字符注入漏洞典型案例。
寬字節(jié)注入漏洞的另一個關(guān)鍵是設(shè)置了character_set_client為寬字節(jié)字符集,這里有很多中設(shè)置的方式,主要包括隱式設(shè)置和顯式設(shè)置。
隱含方式設(shè)置是指charcter_set_client缺省字符集就是寬字節(jié)字符集。
顯式設(shè)置是指在PHP程序中調(diào)用相應(yīng)的設(shè)置函數(shù)來實現(xiàn)字符集的設(shè)置或直接對字符串進行編碼轉(zhuǎn)換,設(shè)置的函數(shù)包括:
(1) mysql_query,如mysql_query("SET NAMES 'gbk'", $conn)、mysql_query("setcharacter_set_client = gbk", $conn)。
(2) mysql_set_charset,如mysql_set_charset("gbk",$conn)。
(3) mb_convert_encoding,如mb_convert_encoding($sql,"utf8","gbk"),將SQL語句從gbk格式轉(zhuǎn)換為utf8格式時,0x5c被吃掉了。
(4) iconv,如iconv('GBK', 'UTF-8',$sql),原理同上。
本地電腦通過修改hosts文件實現(xiàn)域名本地解析
轉(zhuǎn)載于:https://www.cnblogs.com/blankicefire/p/8684517.html
總結(jié)
- 上一篇: 最长回文子序列(算法导论15-2
- 下一篇: SpringSecurity csrf验