扫描打点:

80通过
/images得到是apache2.4.29扫到
robots.txt
访问显示
You have not been granted access.Access denied.抓包出来,
cookie字段为access=denied,试着改了下值,是granted的时候返回了一串长得像账密的凭证:hEzAdCfHzA::hEzAdCfHzAhAiJzAeIaDjBcBhHgAzAfHfN看房间的提示说
zA要变成a,即hEadCfHa::hEadCfHahAiJaeIaDjBcBhHgAafHfN但还是登不上
ssh观察原来的字符串,都是
小写字母+大写字母为一组,且已知zA可以变为a按这个规律的话就是大写字母为小写字母的偏移量,即
z偏移A(1)(再取模)得到a,这样解出来:magna:magnaisanelephant
还没学的缓冲区溢出横向移动:
ssh登进去后有个note,提示有个二进制文件让看错了哥我不会缓冲区溢出扔出来看一下,里面有
gets,那一般是缓冲区溢出了
用
r2打开并显示所有函数,注意到有sym.call_bash
这会在设置的用户
id下新建一个shell
二分出来 $72$ 二个
A恰好导致缓冲区溢出再找
call_bash函数的内存地址:readelf -s hacktheworld | grep -i "call_bash"
转成十六进制并将其放到
A后面以保留在内存中,然后要用cat来保证程序不退出:1
(python -c 'print "A"*72 + "\x58\x06\x40\x00\x00\x00\x00\x00"' ; cat) | ./hacktheworld

提权
看到计划任务里面有:

很眼熟的
tar压缩命令,在linuxPrivEsc房间里面刚刚见过1
2touch /home/spooky/--checkpoint=1
touch /home/spooky/--checkpoint-action=exec=shell.sh再传个反弹
shell.sh就行
THM打靶日寄29-Anonymous Playground
- 本文链接: http://noone40404.github.io/2024/11/30/THM打靶日寄29:Anonymous Playground/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!