文章首发于先知社区 https://xz.aliyun.com/news/17404
Eval is Evil
本地测试发现可以直接执行命令但是是无回显
|
|
现在的目的是执行这样的命令
|
|
但是并不知道环境是否出网,而且也不知道远程是否可行
|
|
这个可以让我们检测到是否能够RCE,本地可行
|
|
现在尝试题目看看是否可行呢,不可行(exit()
也失败了),但是但是,在第二天,我又發現可以了
|
|
我只能神仙环境,服了
OverAndOver - Crypto
|
|
|
|
JWT Learning - Web
把jwt改了就行
DigginDir - Forensics
写个脚本把所有文件提取一下
|
|
Javascript Puzzle
代码很少,这种题目应该做着是特别舒服的哈哈,根本不用找,不会就是不会
|
|
我们只要让try模块报错就可以拿到flag了,但是一般的方法都不能成功,首先是拼接字符串,所以我们肯定是不能为字符串,需要把username设置为对象,再随便覆盖一个方法,那么拼接的时候就会触发这个方法了
|
|
Limited 2
写了两个异步函数在这里,抓包发现也确实是这样的
然后看到WEB应用代码,是个很明显的sql注入
|
|
其中有一篇文章 里面说到可以因为有limit语句可以使用PROCEDURE来进行sql注入,核心语句为
|
|
但是版本高了就没有用了,现在的版本是mysql9,总共是四列,50条数据,后面发现抓包可以改数据
|
|
|
|
|
|
|
|
但是题目不一样,并且因为是http2,
必须用hackbar
|
|
Limited 1
现在是要查内部注释的flag了,问gpt(我不如AI)
|
|
Limited 3
查用户的密码,我们先查用户在哪里
|
|
发现报错了,那改改查询语句就好了
|
|
貌似没用,后面问了一下大家怎么看这个题目,原来是说要爆破,rockyou是一个字典,网上一搜就有,那试试用hashcat来爆破,但是会报错,书鱼哥哥说我格式不对Hashcat的Issue,重新写一下注入语句
|
|
然后交给书鱼哥哥口算,其实是hashcat -m 7401 -a 0 --username hash.txt rocket13.txt
,其中hash.txt为flag:$mysql$A$0005*766E4F5E5D03106A4C027233476433535C4B5E20*3865726464724C6E39747276424F484B6B63742E37307966474C58742F4466634E58767371592F70325044
|
|
Art Contest
给每个用户都生成一个有权限的目录
|
|
这里是根据最后的一个点来判断后缀的,并且要求文件为txt文件,直接一个后缀问题就绕过了上传了但是
这样子会把权限降低为0,单看代码我没看出什么,所以来进到docker里面来慢慢考量
|
|
虽然我可以直接拿到get_flag
这个文件,但是其中并不含有flag,他仅仅是一个二进制文件
还是要getshell,上传了一个文件上去,发现确实想代码一般
没有足够的权限,仔细想了想,文件上传getshell应该是不太可能了,但是他这里有个危险函数,想办法看看这里能不能命令执行
|
|
如果我的文件名里面有恶意代码的话,是否可以执行呢
|
|
再回首,我现在已经给自己做的非常迷糊,甚至觉得就算上传了也没用,于是我把权限验证那一句给注释了,再通过.htaccess
来进行辅助,最终发现可以getshell
|
|
那么现在唯一的问题,就是怎么弄掉那个权限验证了,在经历了折磨之后,我没有想到,但是花哥想到并且测试出来可以chmod *
无法识别到隐藏文件,所以
|
|
|
|
进antsword的虚拟终端就可以拿到flag了
最后m4x哥哥还发现其实可以打条件竞争,ps:我没注意到不能覆盖文件,所以下午的时候没有成功
|
|
|
|