字元 引發的對url編碼的思考

2022-07-09 10:51:16 字數 649 閱讀 7978

0x00前言:

本人在刷sql—lab靶場盲注部分的時候,自己手敲的payload報錯,於是我翻相關資料部落格,發現使用#注釋掉sql語句部分,需要進行url編碼,才能順利注釋成功。

我猜測,是不是因為#這個字元在url中被認為是資源定位符,從而並沒有達到注釋效果引發的報錯。

0x01url編碼的作用

1、會引起歧義:例如 url 引數字串中使用 key=value 這樣的鍵值對形式來傳參,鍵值對之間以 & 符號分隔,如postid=5038412&t=1450591802326,伺服器會根據引數串的 & 和 = 對引數進行解析,如果 value 字串中包含了 = 或者 & ,如寶潔公司的簡稱為p&g,假設需要當做引數去傳遞,那麼可能url所帶引數可能會是這樣 ?name=p&g&t=1450591802326,因為引數中多了乙個&勢必會造成接收 url 的伺服器解析錯誤,因此必須將引起歧義的 & 和 = 符號進行轉義, 也就是對其進行編碼。

2、非法字元:又如,url 的編碼格式採用的是 ascii 碼,而不是 unicode,這也就是說你不能在 url 中包含任何非 ascii 字元,例如中文。否則如果客戶端瀏覽器和服務端瀏覽器支援的字符集不同的情況下,中文可能會造成問題。

0x02總結:

思考,猜測,查資料,最後疑惑搞懂,真的很爽!

勤於思考! 

由flash引發對ARM架構的思考

前言 1.stm32f7 x系統架構 帶著整體的框架結構去看問題 分析問題會清晰一些,首先了解一下系統結構 圖1.1 2.nor flash為什麼可以執行 這句話分解一下有三點 什麼是執行?什麼是nor flash?為什麼可以執行?2.1.先了解下什麼是執行?這裡的執行並不是指真正的 執行 的概念,...

由記憶體分割槽引發對堆疊的思考

前言 在c語言程式設計中,程式中的不同 和資料在編譯或者執行時處於ram的不同位置,是大家熟悉的記憶體分割槽的概念。1.stm32f769晶元內的sram整體分割槽情況 區和常量區是唯讀,在執行過程中是不能進行寫操作的,可以將其放在nor flash中,而棧區 堆區 全域性區中的資料是可讀可寫,而且...

url編碼的字元對應表

http localhost 8080 chess register?name zhang 20san address hunan age 23url編碼的字元對應表 這些名稱 值對必須符合url編碼,也就是說一些特殊的字元,如空格,問號,與號以及其他一些非字母字元 特別是中文 unicode編碼 ...