日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java 宽字节_宽字节注入

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 宽字节_宽字节注入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寬字節注入

原理:寬字節(兩字節)帶來的安全問題主要是吃ASCII字符(一字節)的現象,使用一些特殊字符來”吃掉“經過轉義符 “ \ ” 。

在重新詳細了解寬字節注入之前,我認為寬字節注入只是出現在網站使用GBK編碼的時代,現在已經很少出現了,但是實際上寬字節不只是出現在GBK編碼中。

在PHP中,通過iconv()進行編碼轉換時,也可能出現寬字節注入。

還有一個誤區:

這里的編碼問題不是出現在HTML頁面編碼,而是與數據庫的編碼形式有關,一般我們在建立一個數據庫的時候會讓我們選擇數據庫的編碼形式,所以有時候網站雖然是UTF-8寫的,但是如果數據庫是GBK的形式,也會出現寬字節,現實這樣建站的奇葩應該很少叭。。。

寬字節編碼有哪些:

GB2312、GBK、GB18030、BIG5、Shift_JIS等這些都是常說的寬字節

MySQL中用于轉義的函數有:

addslashes、mysql_real_escape_string、mysql_escape_string以及后面在高版本被去除的magic_quote_gpc

繞過思路:

因為寬字節注入主要是吃掉 \ ,所以一般時候加一個 %df 這種就可以吃掉,其實加三個%df也可以吃掉,只要是奇數個%df即可。

防御方法:

1.設置character_set_client=binary,將數據以二進制形式傳遞

2.矯正人們對于mysql_real_escape_string的誤解,單獨調用set names gbk和mysql_real_escape_string是無法避免寬字符注入問題的。還得調用mysql_set_charset來設置一下字符集。

3.謹慎使用iconv來轉換字符串編碼,很容易出現問題。只要我們把前端html/js/css所有編碼設置成gbk,mysql/php編碼設置成gbk,就不會出現亂碼問題。不用畫蛇添足地去調用iconv轉換編碼,造成不必要的麻煩。

參考連接:

1

2

總結

以上是生活随笔為你收集整理的java 宽字节_宽字节注入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。