0%

黑盒测试

ctfshow里黑盒测试,记录一下!

web380

image-20220404194135955

没啥突破口,扫一下!

扫描过程略过。。。。。。,结论就是扫到了page.php目录

image-20220404195556692

打开显示失败,但是看$id的参数应该存在文件包含!

?id=flag

image-20220404195731656

web381

image-20220404201250537

访问一下

image-20220404201433964

web382

image-20220404201624665

还是继续访问这个路径,是个登陆界面!

image-20220404201641326

第一种解法就是万能密码登录

eg:admin 'or ‘1’=‘1’#

第二种当然就是用bp直接爆破!

第三种就是sqlmap跑

image-20220404202319461

web383

和上题一样

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ETACvNFV-1649078261114)(C:\Users\25963\AppData\Roaming\Typora\typora-user-images\image-20220404202449403.png)]

web384

image-20220404202539262

注意有提示,显然还是爆破

第一个变量-两位小写的英文字母

image-20211004205556975

第二个变量-三位数字

image-20211004205615785img

image-20220404202701541

web385

得到提示访问install

image-20220404203108262

继续访问

image-20220404203133898

然后继续后台登录,admin/admin888

image-20220404203219272

web386

依然存在install页面

image-20220404203820083

扫目录发现还存在clear.php页面

image-20220404203916012

清理完成,/clear.php?file=install/lock.dat继续访问install/?install,还是默认密码

image-20220404204127100

web387

image-20220404204156785

扫目录可以发现有robots.txt

image-20220404204256731

image-20220404204309669

提示文件不存在,需要换入file参数,这里重点来了,可以通过包含日志文件/var/www/nginx/access.log,访问日志文件写入命令,访问的同时命令也就执行了,然后再去访问生成的文件!

image-20220404205139558

用bp写入吧

image-20220404205522652

然后访问image-20220404205535056

flag在alsckdfy/check.php,原理一样还是日志包含

/var/www/html/2.txt');?>

image-20220404205753756

image-20220404205744312

web388

无回显加免杀马

image-20220404205948098

再次访问/var/www/html已经显示一句话

image-20220404210034979

扫目录的时候发现了/alsckdfy/editor/目录,访问一下,是md编辑器

image-20220404210146118

发现可以上传图片以及压缩包!因为允许上传zip文件,所以写一句话然后把后缀改为zip!

image-20220404210352256

';

file_put_contents(‘/var/www/html/1.php’,$a);
?>

image-20220404210524367

并且给出了路径

image-20220404210602498

这个时候再去执行包含文件/debug/?file=/var/www/html/alsckdfy/attached/file/20220404/20220404130517_39664.zip

image-20220404210723022

此时文件内容已经被读取写入日志了,再去包含日志文件/debug/?file=/var/log/nginx/access.log,写入的shell就执行了,生成1.php,访问执行拿到flag

image-20211006174833010这个时候去看日志就能得到flag!

还有一种方法,包含日志写入shell

image-20220404211432785然后再访问一次/debug/?file=/var/log/nginx/access.log,就会生成shell

image-20211006180656898

还有一种方法

我们传一个file参数给它,我们访问:

题目链接/debug/?file=/var/www/html/clear.php

image-20220406185228841

发现它执行了clear.php文件,那我们可以通过在日志中传入木马来实现任意文件访问:

题目链接/debug/?file=/var/log/nginx/access.log

若在网站根目录写入2.html会重定向,我们可以将2.html写入/alsckdfy/目录下即可正常访问。

payload:

User-Agent : <?php system('cat /var/www/html/alsckdfy/check.php > /var/www/html/alsckdfy/1.html');?>

image-20220406185342877

访问1.html查看源代码即可看到flag。

web389

debug/?file=/var/www/html/index.php

image-20220406185814482

查看cookie,发现auth的值为jwt,放到jwt.io里解码,发现alg为HS256。我们盲猜一波key为123456。把header里的user改为admin,再次执行debug,提示:“已写入日志“

image-20220406190027879

制作不易,如若感觉写的不错,欢迎打赏