我想發送十六進制數據作爲GET請求,如somesite.com/page.php?test=hex_string。 這些數據是在硬件中生成的數據,然後GET請求發送到一個PHP文件。是否可以在GET請求中發送0x00?
但是,當我有0x00(NULL)字符在請求中,它失敗,並有400個錯誤的請求消息。
有沒有一種方法可以在GET請求中發送NUL字符?
我想發送十六進制數據作爲GET請求,如somesite.com/page.php?test=hex_string。 這些數據是在硬件中生成的數據,然後GET請求發送到一個PHP文件。是否可以在GET請求中發送0x00?
但是,當我有0x00(NULL)字符在請求中,它失敗,並有400個錯誤的請求消息。
有沒有一種方法可以在GET請求中發送NUL字符?
是的。 /?hexdecimal_nullbyte=%00
由於另一端的Web服務器阻止了null-byte attacks
,所以失敗。因此,Web服務器說,你這是一個400 bad request
,不這樣做:)
我從硬件發送數據,有一切都在處理這樣的十六進制無法避免這種情況! – user427969 2013-04-23 05:03:29
之前我有同樣的問題。 我發現的唯一解決方案是在page.php讀取它之前將這些空字節轉換爲小數,然後在page.php之前將其轉換回字節,然後將其發送到硬件。
感謝您的建議 – user427969 2013-04-23 05:48:37
沒有什麼能阻止在HTTP請求中發送0x00。 'https://www.google.com/?q = 0x00' – 2013-04-23 04:58:07
我知道這就是我的想法。但是,當我從我的數據字符串中刪除爲0x00,PHP頁面正確地接收數據 – user427969 2013-04-23 05:01:19
這幾乎肯定意味着問題的具體Webserver不一樣,價值有 – 2013-04-23 05:02:42