NSS题目练习5

[NISACTF 2022]babyupload

打开后尝试上传php,jpg,png文件都没成功

查看源代码发现有个/source文件

访问后下载压缩包发现有一个python文件

搜索后知道大致意思是,上传的文件不能有后缀名,上传后生成一个uuid,并将uuid和文件名存入数据库中,并返回文件的uuid。再通过/file/uuid访问文件,通过查询数据库得到对应文件名,在文件名前拼接uploads/后读取该路径下上传的文件。

http://t.csdnimg.cn/jR6yM

读取 flag 文件,在文件名前被uploads/拼接意味着只能读取上传后的文件,而且上传的文件没有后缀名,不能直接利用,但os.path.join()函数存在绝对路径拼接漏洞

绝对路径拼接漏洞

os.path.join(path,*paths)函数用于将多个文件路径连接成一个组合的路径。第一个函数通常包含了基础路径,而之后的每个参数被当作组件拼接到基础路径之后。

然而,这个函数有一个少有人知的特性,如果拼接的某个路径以 / 开头,那么包括基础路径在内的所有前缀路径都将被删除,该路径将视为绝对路径

当上传的文件名为 /flag ,上传后通过uuid访问文件后,查询到的文件名是 /flag ,那么进行路径拼接时,uploads/ 将被删除,读取到的就是根目录下的 flag 文件。

将filename改为/flag

即可得到flag

[LitCTF 2023]Follow me and hack me

按照要求传参可直接得到flag

[LitCTF 2023]Ping

先尝试ping一下本机地址,查看目录,发现不行

查看源码发现有过滤

题目提示是前端绕过,直接禁用js

查看所有文件夹,发现里面有flag

用cat查看即可得到flag

[LitCTF 2023]Vim yyds

题目提示泄露,直接用dirsearch扫描,发现一个文件,访问后下载

用vim编辑器打开

vim -r 文件名打开可查看源码

用post传参传入“Give_Me_Your_Flag”通过base64加密后的值

即可得到flag

[HNCTF 2022 Week1]Interesting_include

用get传参的方法传入一个filter,还有一个正则匹配

题目提示是php伪协议,直接构造url,得到一串base64编码

解码后得到flag

[HUBUCTF 2022 新生赛]checkin

要求用get传参传入一个info,info后续被反序列化,include("flag.php")处的提示是已经修改了username和password这两个值,发现是弱比较

补充:

弱比较中的布尔true和任意比较:

var_dump(True == 0);    //bool(false)
var_dump(True == 'False');    //bool(true)
var_dump(True == 2);    //bool(true)

所以可知,true和非空、非零字符串比较都是为true

编写php代码,得到payload

传入url,得到flag

[GXYCTF 2019]BabyUpload

发现提示

先上传一个.htaccess文件并抓包更改类型

上传成功并显示上传路径

传入一个jpg文件

文件头欺骗也不行,可能是不能含有<?

尝试换用别的一句话木马

上传成功,显示路径

蚁剑测试连接成功

找到flag

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值