type
status
date
slug
summary
tags
category
icon
password
1.MICS|杂项
2.Web|网络攻防
刷题的地方: https://adworld.xctf.org.cn/
1.碰到的问题:PHP2
首先进入页面后发现一串英文:Can you anthenticate to this website? ,他的意思是你能登录这个网站吗?那么说明应该有隐藏的登陆页面,利用工具dirsearch进行扫描,只要可以扫描出来的都行。然后就是找到隐藏的界面index.php,这里可以利用phps来直接查看php源码,发现
$_GET[id] = urldecode($_GET[id])
,意思是要你用urldecode来对admin进行编码,然后发现一次不行,就在进行一次,然后就得到了flag。2.碰到的问题:ics-06
这个题目进去后只有一个地方可以点进去,然后就看到了index.php?id=1,这个时候就用爆破就可以了
3.碰到的问题:php_rce
这题点进去后发现是一个php框架,根据题目php-rce远程命令执行,可以在GitHub上看看有没有什么漏洞,然后可以发现一个漏洞,接着就是直接用漏洞跑一下,然后发现可以直接看到,结束。
4.碰到的问题:Web_php_include
这题点进去是
C 库函数 char *strstr(const char *haystack, const char *needle) 在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 '\0'。
5.碰到的问题:上传文件
这种情况一般是构建一句话木马,利用burpsuite修改包后缀名(一般会限制上传文件类型),上传成功以后注意文件位置,利用菜刀或者是中国蚁剑进行连接, 然后获得flag,这就是具体的思路.
6.碰到的问题:supersqli
[步骤]
先添加一个单引号,报错,错误信息如下:
error 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''1''' at line 1
接着测试–+注释,发现被过滤,然后使用#注释,可行
用order by语句判断出有两个字段,接着使用union select 爆字段,发现这个时候出现了如下提示:
return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);
发现上面的关键字都被过滤不能使用了,没法进行注入,这个时候尝试一下堆叠注入
现在回到这道题,利用堆叠注入,查询所有数据库:
1';show databases;#
查询所有表:
1';show tables;#
查询words表中所有列:
1';show columns from words;#
查询1919810931114514表中所有列
1';show columns from `1919810931114514`;# (字符串为表名操作时要加反引号)
根据两个表的情况结合实际查询出结果的情况判断出words是默认查询的表,因为查询出的结果是一个数字加一个字符串,words表结构是id和data,传入的inject参数也就是赋值给了id
这道题没有禁用rename和alert,所以我们可以采用修改表结构的方法来得到flag
将words表名改为words1,再将数字名表改为words,这样数字名表就是默认查询的表了,但是它少了一个id列,可以将flag字段改为id,或者添加id字段
1';rename tables `words` to `words1`;rename tables `1919810931114514` to `words`; alter table `words` change `flag` `id` varchar(100);#
这段代码的意思是将words表名改为words1,1919810931114514表名改为words,将现在的words表中的flag列名改为id
然后用
1' or 1=1 #
得到flag.7.碰到的问题:file_include
这题的源码为:
同时题目描述:怎么读取文件呢?
所以说这题主要是涉及读取文件,可以根据PHP伪协议详解-CSDN博客这篇文章中说的
所以我们接下来构造payload
然后提示说do not hack!行不通,应该是被过滤了,这个时候,我们选择filter绕过过滤的方法,构造出payload
不过这个没东西,我们用dirsearch来看看有没有别的页面,发现有个flag.php,构造出payload
最后找到flag,<�?php $flag='cyberpeace{c63677a5742b261a0dfd54565d0ec33b}';
3.Crypto|密码学
4.Reverse|逆向工程
5.Pwn|二进制安全
6.AWD|攻防模式
7.AI|人工智能
8.Blockchain|区块链安全
- 作者:Luck
- 链接:https://enblog.top/article/d55bb93f-64fb-4ebf-82a2-cc1b3617873c
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。