栈溢出简单入门
别问,问就是闲的
所以稍微学一下
很水,且基本没用实践过
函数入栈退栈过程
主要和三个寄存器相关,esp ebp eip
esp为栈顶指针,指向栈顶,ebp为栈底指针,指向当前栈帧的栈底。eip则保存执行指令的地址
这里首先需要理解,栈和代码段是分开的,栈理论上可读可写不可执行,代码段可读可执行
问就是太菜了,什么都不会,所以需要加强记忆,保姆级复习
代码基本上都是抄的yso,但是要手跟一下总结一下
最古老的payload,在极低版本的jdk上生效,因为已经修掉了所以现在基本上没有用,在这里可以下载远古jdk,这里用的1.8u51,非常远古
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
作为垃圾选手在TCTF qual中被暴打,居然还能被邀请参加决赛,谢谢腾讯给我一个机会,被打的很惨,有机会的话明年还想来挨打。web一题没出,完全不会,赛后环境也急速关闭跑路了,只能根据附件和wp进行复现尝试
唯一做出来的一个题,还是个misc。。。
给了一个nginx搭建的服务,有一个任意文件下载。
乱翻是翻不到东西的,尝试读cmdline,读/proc/self/cmdline只读到是nginx的work进程,没用。再次复习老国王的读proc之术
先读/sys/fs/cgroup/systemd/tasks
,能拿到所有的进程号,就能用/proc/pid/cmdline
来看有什么内容了,看了一下,一号进程是nginx主进程,剩下的全是子进程,但是主进程中的cmdline是这样的
nginx: master process
/usr/local/openresty/nginx/sbin/nginx -p /work/ -c conf/nginx.conf -g daemon off;
不愧是500空间,日常平台500,题目出的稀碎,权限也不控制,睡一个午觉起来发现放题了,看了两分钟就hacked by lbw了,lbwnb!
最后还有一波诸神黄昏,十分钟掉十名,又到了我最喜欢的垂直上分环节
远古远古框架,13年就没更新了。从GitHub上找到了源码拉了一版下来,审了半天感觉打不动,不进后台无敌防御,默认的账户登不上去。然后开始扫目录,发现大家已经写了这么多后门了啊,随便挑了几个猜后门密码,有一个猜对了,连上去在环境变量中获得flag
笑死了
连进去之后顺便检查了一遍admin的密码,确实是被改了,变成了一个八位数字(应该不是爆破密码吧。。。这还带验证码的)好奇师傅们是怎么打进去的