偶然的情况下 看到了一个可供代码审计学习的平台,记录下学习的过程,有不对的地方,大佬们轻喷
challenge 1 链接 http://warmup.solveme.peng.kr
关键 php:echo base64_encode(hex2bin(strrev(bin2hex($flag))))
首先 flag 使用bin2hex bin2hex() 把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数解密
其次 反转字符串 strrev() 函数,再转换为字符串,最后base64得到加密后的flag
这里使用 python的转换 调用binascii.a2b_hex()函数
用python 解密
步骤分别为:base64 解密;将字符串转为16进制 ;字符串反转;16进制值转为字符串
import binascii
import base64
s = '1wMDEyY2U2YTY0M2NgMTEyZDQyMjAzNWczYjZgMWI4NTt3YWxmY='
s1 = base64.b64decode(s)
s2 = binascii.b2a_hex(s1)
s3 = s2[::-1]
s4 = binascii.a2b_hex(s3)
print (s4) #结果就出来了
challenge_2 : 链接:http://badcompare.solveme.peng.kr
题:
<?php
error_reporting(0);
require __DIR__.'/lib.php'