HGAME部分wp只玩了前两周
第一周
MISC
Base全家福
新年即将来临之际,Base家族也团聚了,他们用他们特有的打招呼方式向你问了个好,你知道他们在说什么吗? R1k0RE1OWldHRTNFSU5SVkc1QkRLTlpXR1VaVENOUlRHTVlETVJCV0dVMlVNTlpVR01ZREtSUlVIQTJET01aVUdSQ0RHTVpWSVlaVEVNWlFHTVpER01KWElRPT09PT09
解密base64

解密base32

16转字符串

hgame{We1c0me_t0_HG4M3_2021}
不起眼压缩包的养成的方法
附件是个图片

搞下来查看16进制发现里面有隐藏压缩包和提示密码是8位数

分离一下,爆破压缩包,得到密码70415155

解压,查看文件发现里面提示是存储

我们打开另一个压缩包发现里面也有一个NO PASSWORD的文件,根据提示我们将现有的NO PASSWORD.txt压缩,压缩方式改为存储
格式:ZIP

进行明文攻击,得到密码C8uvP$DP

解压出来zip压缩包,发现还是加密,放到winhex中发现有Unicode编码,而且压缩文件是伪加密,改一下即可
改成00
也可以不用改,因为右边已经显示了,直接去unicode解码即可

Unicode解码

hgame{2IP_is_Usefu1_and_Me9umi_i5_W0r1d}
Galaxy
附件是流量分析
根据题目提示说明有图片
文件—>导出对象—>HTTP

得到图片另存为

使用工具tweakpng改一下高度即可
也可以用010或者winhex改都可以

hgame{Wh4t_A_W0nderfu1_Wa11paper}
Word RE:MASTER
得到两个word文档,其中有一个加密了
first.docx中的内容

我们查看16进制发现是zip文件,改一下后缀

发现有一个password.xml

查看一下

复制进行Brainfuck解密

DOYOUKNOWHIDDEN?
这应该就是文档密码
打开发现只有一张图片

将图片删除
点文件—选项—>视图

将格式标记全部打开

看到是snow加密

如果直接复制是复制不出来的
全选,右键点击字体,将隐藏取消

新建一个flag.txt,随便命名都行
将snow加密复制进去,然后解密一下即可

hgame{Cha11en9e_Whit3_P4ND0R4_P4R4D0XXX}
Crypte
まひと
下载附件,用记事本打开
---../-..../-..-./.----/-----/----./-..-./.----/-----/---../-..-./.----/.----/-----/-..-./----./-----/-..-./---../--.../-..-./...../...--/-..-./.----/-----/---../-..-./----./----./-..-./.----/-----/----./-..-./---../...../-..-./.----/.----/-..../-..-./---../....-/-..-./--.../.----/-..-./.----/-----/---../-..-./.----/.----/....-/-..-./----./--.../-..-./---../....-/-..-./.----/.----/..---/-..-./...../--.../-..-./---../-..../-..-./.----/-----/----./-..-./.----/.----/-..../-..-./.----/.----/-..../-..-./.----/-----/-----/-..-./.----/-----/--.../-..-./.----/.----/..---/-..-./.----/-----/...../-..-./--.../...--/-..-./---../....-/-..-./--.../-----/-..-./---../----./-..-./.----/-----/-----/-..-./-..../----./-..-./--.../-----/-..-./...../..---/-..-./----./-----/-..-./---../...--/-..-./--.../-----/-..-./.----/.----/.----/-..-./----./----./-..-./-..../----./-..-./....-/---../-..-./.----/..---/-----/-..-./.----/-----/.----/-..-./....-/---../-..-./....-/---../-..-./.----/.----/....-/-..-./--.../----./-..-./---../---../-..-./.----/-----/....-/-..-./.----/..---/-----/-..-./.----/-----/.----/-..-./.----/.----/-----/-..-./--.../....-/-..-./---../...../-..-./---../....-/-..-./---../-..../-..-./...../--.../-..-./--.../----./-..-./----./--.../-..-./.----/.----/-----/-..-./...../...--/-..-./.----/-----/-..../-..-./---../...../-..-./.----/-----/----./-..-./----./----./-..-./....-/---../-..-./.----/-----/.----/-..-./-..../...../-..-./-..../.----/-..-./-..../.----
摩斯解密
86 109 108 110 90 87 53 108 99 109 85 116 84 71 108 114 97 84 112 57 86 109 116 116 100 107 112 105 73 84 70 89 100 69 70 52 90 83 70 111 99 69 48 120 101 48 48 114 79 88 104 120 101 110 74 85 84 86 57 79 97 110 53 106 85 109 99 48 101 65 61 61
10进制转一下ASCII
V m l n Z W 5 l c m U t T G l r a T p 9 V m t t d k p i I T F Y d E F 4 Z S F o c E 0 x e 0 0 r O X h x e n J U T V 9 O a n 5 j U m c 0 e A = =
base64解密
Vigenere-Liki:}VkmvJb!1XtAxe!hpM1{M+9xqzrTM_Nj~cRg4x
维吉尼亚解密
秘钥LiKi
}KccnYt!1NlPpu!zeE1{C+9pfrhLB_Fz~uGy4n
栅栏解密,分6栏
}!!Ch~K1z+LucNe9BGclEp_ynP1fF4Yp{rzntu
逆序一下
python脚本
def strReverse(strDemo):return strDemo[::-1]
print(strReverse('}!!Ch~K1z+LucNe9BGclEp_ynP1fF4Yp{rzntu'))# utnzr{pY4Ff1Pny_pElcGB9eNcuL+z1K~hC!!}
rot13解密
hgame{cL4Ss1Cal_cRypTO9rAphY+m1X~uP!!}
对称之美
直接上脚本
s=[99, 32, 55, 93, 35, 38, 17, 68, 0, 98, 32, 62, 120, 53, 17, 24, 73, 26, 61, 16, 57, 43, 0, 88, 89, 54, 33, 53, 120, 49, 15, 9, 4, 22, 32, 68, 61, 99, 10, 80, 89, 72, 40, 112, 40, 53, 10, 2, 29, 26, 32, 87, 110, 44, 23, 22, 29, 48, 40, 39, 49, 58, 4, 76, 11, 18, 34, 81, 32, 32, 0, 22, 28, 35, 42, 56, 120, 59, 23, 4, 12, 1, 110, 58, 33, 54, 17, 24, 89, 22, 33, 57, 43, 116, 0, 3, 28, 31, 42, 16, 44, 38, 69, 66, 17, 39, 105, 63, 58, 62, 6, 15, 29, 0, 110, 68, 38, 38, 8, 69, 28, 46, 63, 53, 43, 120, 67, 102, 11, 6, 58, 16, 39, 55, 69, 85, 24, 44, 105, 49, 52, 39, 12, 76, 27, 22, 34, 81, 58, 38, 69, 66, 22, 98, 42, 63, 52, 59, 17, 31, 73, 18, 32, 84, 110, 73, 10, 66, 17, 39, 59, 112, 59, 59, 14, 28, 6, 0, 39, 68, 39, 44, 11, 87, 21, 98, 61, 53, 59, 60, 13, 5, 24, 6, 43, 67, 96, 73, 60, 89, 12, 98, 36, 49, 33, 116, 13, 3, 29, 83, 60, 85, 47, 47, 12, 76, 28, 98, 32, 36, 116, 116, 1, 25, 29, 83, 55, 95, 59, 49, 69, 84, 11, 35, 32, 62, 120, 94, 10, 31, 73, 17, 59, 67, 55, 99, 18, 89, 11, 41, 32, 62, 63, 116, 1, 9, 1, 26, 32, 84, 110, 55, 13, 83, 89, 49, 42, 53, 54, 49, 16, 76, 29, 28, 110, 67, 43, 38, 14, 22, 115, 45, 60, 36, 120, 39, 26, 1, 4, 22, 58, 66, 55, 99, 18, 94, 28, 44, 105, 41, 55, 33, 67, 0, 6, 28, 37, 16, 47, 55, 69, 87, 89, 50, 40, 57, 54, 32, 10, 2, 14, 93, 110, 58, 26, 43, 0, 68, 28, 98, 40, 34, 61, 116, 16, 9, 31, 22, 60, 81, 34, 99, 23, 83, 24, 49, 38, 62, 43, 116, 5, 3, 27, 83, 58, 88, 39, 48, 75, 22, 45, 42, 44, 112, 82, 50, 10, 30, 26, 7, 110, 89, 61, 99, 17, 94, 24, 54, 105, 39, 61, 115, 17, 9, 73, 27, 47, 66, 42, 110, 18, 95, 11, 39, 45, 112, 44, 59, 67, 0, 6, 28, 37, 16, 40, 44, 23, 22, 115, 43, 61, 126, 120, 27, 22, 30, 73, 18, 32, 83, 39, 38, 11, 66, 89, 35, 39, 51, 61, 39, 23, 3, 27, 0, 110, 93, 47, 58, 69, 88, 22, 54, 105, 56, 57, 34, 6, 76, 1, 18, 42, 16, 68, 34, 69, 88, 24, 47, 44, 112, 62, 59, 17, 76, 0, 7, 98, 16, 44, 54, 17, 22, 13, 42, 44, 41, 120, 63, 13, 9, 30, 83, 58, 88, 47, 55, 69, 66, 17, 39, 32, 34, 120, 94, 12, 27, 7, 83, 44, 95, 42, 42, 0, 69, 89, 53, 44, 34, 61, 116, 1, 13, 26, 26, 45, 81, 34, 47, 28, 22, 10, 59, 36, 61, 61, 32, 17, 5, 10, 18, 34, 28, 110, 34, 22, 22, 115, 53, 44, 34, 61, 116, 23, 4, 6, 0, 43, 16, 33, 37, 69, 70, 22, 54, 44, 62, 44, 61, 2, 0, 73, 3, 60, 85, 42, 34, 17, 89, 11, 49, 105, 63, 42, 116, 19, 30, 12, 10, 96, 16, 68, 23, 13, 83, 11, 39, 47, 63, 42, 49, 79, 76, 29, 27, 39, 67, 110, 32, 4, 91, 28, 98, 32, 62, 120, 60, 2, 2, 13, 10, 110, 71, 38, 38, 17, 94, 28, 48, 105, 90, 59, 60, 12, 3, 26, 26, 32, 87, 110, 34, 69, 91, 24, 54, 44, 124, 120, 55, 2, 24, 10, 27, 39, 94, 41, 99, 1, 95, 23, 44, 44, 34, 120, 59, 17, 76, 99, 18, 56, 95, 39, 39, 12, 88, 30, 98, 43, 53, 49, 58, 4, 76, 6, 29, 110, 68, 38, 38, 69, 91, 28, 44, 60, 112, 55, 50, 67, 13, 73, 0, 32, 81, 60, 47, 12, 88, 30, 110, 105, 90, 48, 33, 13, 11, 27, 10, 110, 64, 47, 32, 14, 22, 22, 36, 105, 39, 55, 56, 21, 9, 26, 83, 33, 66, 110, 33, 0, 87, 11, 49, 104, 90, 12, 53, 8, 9, 73, 18, 110, 92, 33, 44, 14, 22, 24, 54, 105, 41, 55, 33, 17, 76, 15, 18, 45, 85, 110, 42, 11, 22, 13, 42, 44, 112, 53, 61, 17, 30, 6, 1, 110, 58, 47, 45, 1, 22, 16, 47, 40, 55, 49, 58, 6, 76, 8, 83, 34, 89, 32, 38, 69, 69, 13, 48, 40, 57, 63, 60, 23, 76, 13, 28, 57, 94, 110, 55, 13, 83, 89, 72, 36, 57, 60, 48, 15, 9, 71, 83, 23, 95, 59, 100, 9, 90, 89, 49, 44, 53, 120, 54, 12, 24, 1, 83, 61, 89, 42, 38, 22, 22, 22, 36, 105, 41, 55, 33, 17, 76, 99, 21, 47, 83, 43, 99, 4, 68, 28, 98, 57, 34, 61, 32, 23, 21, 73, 0, 55, 93, 35, 38, 17, 68, 16, 33, 40, 60, 118, 116, 55, 4, 0, 0, 110, 89, 61, 99, 111, 93, 23, 45, 62, 62, 120, 53, 16, 76, 11, 26, 34, 81, 58, 38, 23, 87, 21, 98, 58, 41, 53, 57, 6, 24, 27, 10, 110, 81, 32, 39, 69, 95, 13, 101, 58, 112, 82, 35, 11, 9, 27, 22, 110, 82, 33, 55, 13, 22, 10, 43, 45, 53, 43, 116, 6, 5, 29, 27, 43, 66, 110, 48, 12, 82, 28, 98, 38, 54, 120, 32, 11, 5, 26, 83, 68, 84, 39, 53, 12, 82, 16, 44, 46, 112, 52, 61, 13, 9, 73, 18, 62, 64, 43, 34, 23, 22, 20, 45, 59, 53, 120, 59, 17, 76, 5, 22, 61, 67, 110, 55, 13, 83, 89, 49, 40, 61, 61, 122, 105, 63, 6, 83, 38, 85, 60, 38, 69, 95, 10, 98, 61, 56, 61, 116, 5, 0, 8, 20, 116, 16, 68, 43, 2, 87, 20, 39, 50, 8, 104, 38, 60, 5, 92, 94, 47, 111, 59, 16, 86, 80, 44, 115, 98, 100, 54, 48, 71, 10, 60, 61, 32, 73, 17, 0, 84, 70, 49, 113, 59, 45, 82]
S="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
#检查字符是否是可打印字符或者换行符
def check1(s):if ord(s)>=32 and ord(s)<=126:return 1if ord(s)==10:return 1else:return 0
#得到key每位对应列表,如第一位,对应1,17,33..
def get_N(i):N=[]for j in range(i,len(s),16):N.append(s[j])return N
#检查key该为是否和对应列表每位都得到可打印字符
def check2(j,N):cout=0for i in range(0,len(N)):if check1(chr(N[i]^ord(j))):cout+=1if cout==len(N):return 1
#爆破key的16位,分别得到16位上可能的情况
for i in range(0,16):key=""for j in S:if check2(j,get_N(i)):key+=jprint(key)
#有的位置多种情况就再次爆破
s1="afghlopqrstvwz"
s2="0e"
s3="6e"
s4="01245678abcdefhjklmnopqrstuvwxyz"
s5="GHIJKLNOVZ"
s6="5lF"
for n in s1:for j in s2:for x in s3:for y in s4:for z in s5:for m in s6:key1="i"+n+"N"+j+"NC"+x+y+"yB"+z+"PXTc"+mflag=""key=67*key1for i in range(0,len(s)):flag+=chr(ord(key[i])^s[i])#要有hgame{和flagif "hgame{" in flag:if "flag" in flag:print(flag)print(key1)#key=isN0NCe6yBIPXTcl
hgame{X0r_i5-a_uS3fU1+4nd$fUNny_C1pH3r}
Transformer
下载附件是个压缩包,里面有个txt文件
内容如下:
Tqh ufso mnfcyh eaikauh kdkoht qpk aiud zkhc xpkkranc uayfi kfieh 2003, oqh xpkkranc fk "qypth{hp5d_s0n_szi^3ic&qh11a_}",Dai'o sanyho oa pcc oqh dhpn po oqh hic.
使用quipquip,替换一下
得到flag
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-anMepYAV-1615469986760)(HGAME_Misc.assets/image-20210202003821840.png)]
hgame{ea5y_f0r_fun^3nd&he11o_}
RE
一杯阿帕茶
明显的TEA加密标志,后面分析为XXTEA加密
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8zdtXYJ5-1615469986760)(HGAME_Misc.assets/image-20210201201051733.png)]
加密后的数据,刚好35位
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nRzSxzH6-1615469986760)(HGAME_Misc.assets/image-20210201201231341.png)]
#include
#include #define DELTA 0x9e3779b9
#define MX (((z>>5 ^ y<<2) + (y>>3 ^ z<<4)) ^ ((sum ^ y) + (k[(p&3) ^ e] ^ z)))void XXTEA(int n, uint32_t* v, uint32_t* k)
{uint32_t sum, y, z;uint32_t p, rounds, e;if (n > 1) {rounds = 6 + 52 / n;sum = 0;z = v[n - 1];do {sum += DELTA;e = (sum >> 2) & 3;for (p = 0; p < n - 1; p++) {y = v[p + 1];z = v[p] += MX;}y = v[0];z = v[n - 1] += MX;} while (--rounds);}else if (n < -1) {n = -n;rounds = 6 + 52 / n;sum = rounds * DELTA;y = v[0];do {e = (sum >> 2) & 3;for (p = n - 1; p > 0; p--) {z = v[p - 1];y = v[p] -= MX;}z = v[n - 1];y = v[0] -= MX;sum -= DELTA;} while (--rounds);}
}int main()
{uint32_t arr[] = {3880694563, 3081185334, 1506439138, 2524759489, 3883935348, 1026381030, 2325545814, 2581382044, 1881594093, 1781792173, 4103492874, 1553756062, 468045900, 1730391575, 1383114178, 2890011402, 2227070898, 1885128569, 1548828056, 4214676013, 571971141, 1558401693, 3515474427, 3898332297, 1942540575, 1421197718, 3061626000, 555214026, 2648963476, 794468778, 2816999933, 3272437419, 464379036, 877899850, 2460223225};uint32_t key[] = { 1,2,3,4 };XXTEA(-35, arr, key);for (int i = 0; i < 35; i++) {printf("%c", arr[i]);}return 0;
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7dGRjBU3-1615469986761)(HGAME_Misc.assets/image-20210201201420062.png)]
Welcome to reverse world !
简单题,一个异或直接搞定
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D2netz4J-1615469986761)(HGAME_Misc.assets/image-20210201201736107.png)]
from ida_bytes import *def re():addr = 0x00007FF7F7513480flag = ''for i in range(22):flag += chr((0xff - i) ^ get_byte(addr +i))print(flag)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D9NJfCvH-1615469986762)(HGAME_Misc.assets/image-20210201201838100.png)]
pypy
给了我们python字节码,需要我们自己还原成python代码,下面贴还原过后的代码,加密过程很简单
import disdef input_func():raw_flag = input('give me your flag:\n')cipher = list(raw_flag[6:-1])length = len(cipher)for i in range(length // 2):cipher[2*i], cipher[2*i+1] = cipher[2*i+1] , cipher[2*i]res = []for i in range(length):res.append(ord(cipher[i]) ^ i)res = bytes(res).hex()print('your flag: ' + res)# print(dis.dis(input_func))
解密脚本
def Cip():flag = ''res = []cipher = '30466633346f59213b4139794520572b45514d61583151576638643a'length = len(cipher)for i in range(0, length, 2):res.append(int(cipher[i:i+2],16))for i in range(len(res)):flag += chr(res[i] ^ i)flag = list(flag)for i in range(len(flag) // 2):flag[i*2+1], flag[i*2] = flag[i*2],flag[i*2 + 1]for i in range(len(flag)):print(flag[i],end='')# hgame{G00dj0&_H3r3-I$Y@Ur_$L@G!~!~}
WEB
Hitchhiking_in_the_Galaxy
打开容器

我们使用burp抓包,抓我要搭顺风车!的包
发现包405

我们吧GET改成POST

因为User-Agen后面跟搜索引擎我们看到提示是引擎,猜测放到User-Agen后面

得到了另一个提示
说得从https://cardinal.ink/过去,看到网址就应该想到Referer

说得从本地访问,直接使用XFF即可

hgame{s3Cret_0f_HitCHhiking_in_the_GAl@xy_i5_dOnT_p@nic!}
注意
如果将数据放到最后,Response报错

我们只需要将数据放到中间即可

watermelon
打开容器发现是一个游戏,但是水果落下去看不见,所以如果想玩通关,有点困难
当两个一样的水果碰到一块就会消除加分
当结束会提示2000分得到flag

这样就好办了,在谷歌Ctrl+Shift+F全局搜索一下1999
这个就是flag

base64解密

hgame{do_you_know_cocos_game?}
智商检测鸡
这个题做够100个就给flag

hgame{3very0ne_H4tes_Math}
第二周
MISC
Tools
这道题有点像签到
下载附件查看图片属性得到
!LyJJ9bi&M7E72*JyD
我们看到压缩包名字是F5我们可以猜测到应该是F5隐写
使用命令
java Extract Matryoshka -p '!LyJJ9bi&M7E72*JyD' # e@317S*p1A4bIYIs1Mroot@kali
会得到一个文件,我们打开就会得到另一个密码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-90EaB8xq-1615469986769)(HGAME部分wp.assets/image-20210216094137607.png)]
解压压缩包,得到一部分二维码图片,压缩包文件名steghide
查看01的属性,得到一个密码,进行steghide解密
steghide extract -p 'A7SL9nHRJXLh@$EbE8' 01.jpg # u0!FO4JUhl5!L55%
再次进行解压,得到一个outguess
在进行解密
outguess -k 'z0GFieYAee%gdf0%lF' -r 02.jpg flag.txt# @UjXL93044V5zl2ZKI
再次解压,得到JPHS
查看图片属性,得到密码。进行JPHS解密
xSRejK1^Z1Cp9M!z@H
得到二维码,进行拼接起来,扫描得到flag

Telegraph:1601 6639 3459 3134 0892
这个题比较简单,是个音频,里面有摩斯电码,只是摩斯电码有一部分比较模糊

-.-- --- ..- .-. ..-. .-.. .- --. .. ... ---... ....- --. ----- ----- -.. ... ----- -. --. -... ..- - -. ----- - ....- --. ----- ----- -.. -- .- -. ----- ...-- ----. ...-- .---- ----- -.- ..
解密就得到了flag

YOURFLAGIS:4G00DS0NGBUTN0T4G00DMAN039310K
Hallucigenia
这个也比较简单,下载附件得到一个图片,放到StegSolve中,查看通道,会得到一个二维码,反色一下

扫描得到base64内容
gmBCrkRORUkAAAAA+jrgsWajaq0BeC3IQhCEIQhCKZw1MxTzSlNKnmJpivW9IHVPrTjvkkuI3sP7bWAEdIHWCbDsGsRkZ9IUJC9AhfZFbpqrmZBtI+ZvptWC/KCPrL0gFeRPOcI2WyqjndfUWlNj+dgWpe1qSTEcdurXzMRAc5EihsEflmIN8RzuguWq61JWRQpSI51/KHHT/6/ztPZJ33SSKbieTa1C5koONbLcf9aYmsVh7RW6p3SpASnUSb3JuSvpUBKxscbyBjiOpOTq8jcdRsx5/IndXw3VgJV6iO1+6jl4gjVpWouViO6ih9ZmybSPkhaqyNUxVXpV5cYU+Xx5sQTfKystDLipmqaMhxIcgvplLqF/LWZzIS5PvwbqOvrSlNHVEYchCEIQISICSZJijwu50rRQHDyUpaF0y///p6FEDCCDFsuW7YFoVEFEST0BAACLgLOrAAAAAggUAAAAtAAAAFJESEkNAAAAChoKDUdOUIk=
解密发现,PNG倒过来了

如果直接复制解码进行倒序输出的话无法组成图片
我们使用CyberChef里面的base64解密,然后保存成dat格式

使用python脚本,倒序一下即可
f = open('flag.png','wb')
with open('download.dat','rb') as file:f.write(file.read()[::-1])f.close()

翻转一下即可

hgame{tenchi_souzou_dezain_bu}
DNS
下载附件,得到流量分析文件,放到wireshark里面,我们看到题目名字是DNS,直接筛选一下

发现有flag.hgame2021.cf
我们在页面中查看一下这个地址
发现会弹窗

查看源码
提示了SPF

SPF经过我们百度发现是TXT记录,我们使用nslookup命令查看,得到flag
nslookup命令是用于查询DNS记录的,查询域名解析是否正常等等。

WEB
LazyDogR4U
打开容器,发现是登录框,我们使用dirsearch扫描一下,发现有www.zip
审计一下代码,在flag.php找到了获取flag的方式
当$_SESSION['username'] === 'admin'的时候得到flag
if($_SESSION['username'] === 'admin'){echo "admin将于今日获取自己忠实的flag
";echo "$flag
";}else{if($submit == "getflag"){echo "{$_SESSION['username']}接近了问题的终点
";}else{echo "篡位者占领了神圣的页面
";}}?>
lazy.php中进行了变量覆盖,将_GET,_post传入的变量全部变成为普通变量
$filter = ["SESSION", "SEVER", "COOKIE", "GLOBALS"];// 直接注册所有变量,这样我就能少打字力,芜湖~foreach(array('_GET','_POST') as $_request){foreach ($$_request as $_k => $_v){foreach ($filter as $youBadBad){$_k = str_replace($youBadBad, '', $_k);}${$_k} = $_v;}
}
这样我们就可以根据flag.php中的_SESSION['username'] === 'admin'进行变量覆盖
payload:_SESSION[username]=admin
因为lazy.php将SESSION给替换为空白,所以我们进行双写绕过即可
这里的键名不能加引号。
最终payload:flag.php?_SESSSESSIONION[username]=admin
得到flag
hgame{R4U_1s~a~LAZy-D0g}
yle=‘color: white’>篡位者占领了神圣的页面";
}
}
?>
`lazy.php`中进行了变量覆盖,将`_GET`,`_post`传入的变量全部变成为普通变量```php
$_v){foreach ($filter as $youBadBad){$_k = str_replace($youBadBad, '', $_k);}${$_k} = $_v;}
}
这样我们就可以根据flag.php中的_SESSION['username'] === 'admin'进行变量覆盖
payload:_SESSION[username]=admin
因为lazy.php将SESSION给替换为空白,所以我们进行双写绕过即可
这里的键名不能加引号。
最终payload:flag.php?_SESSSESSIONION[username]=admin
得到flag
hgame{R4U_1s~a~LAZy-D0g}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
