NSSCTF-Web题目6

目录

[NISACTF 2022]checkin

1、题目

2、知识点

3、思路

[NISACTF 2022]babyupload

1、题目

2、知识点

3、思路

[SWPUCTF 2022 新生赛]1z_unserialize

1、题目

2、知识点

3、思路


[NISACTF 2022]checkin

1、题目

2、知识点

010编辑器的使用、url编码

3、思路

打开题目,得到源码

审计代码,题目需要我们上传两个变量的内容,根据题目输入,结果没有出现flag,题目有提示,复制源码,用010Editor打开

发现多了很多内容,难怪会没有出现flag

我们将需要上传的内容的16进制加上%重新上传

第一个参数的内容是正常的,构造出来的payload为

http://node5.anna.nssctf.cn:26298/?ahahahaha=jitanglailo&%E2%80%AE%E2%81%A6%55%67%65%69%77%6F%E2%81%A9%E2%81%A6%63%75%69%73%68%69%79%75%61%6E=%E2%80%AE%E2%81%A6%20%46%6C%61%67%21%E2%81%A9%E2%81%A6%4E%31%53%41%43%54%46

得到flag:NSSCTF{09918f4c-0337-4344-84a3-33c306a12e9e}


[NISACTF 2022]babyupload

1、题目

2、知识点

php代码审计、os.path.join()函数

3、思路

打开题目,上传一个文件,发现上传不了

正常的文件都上传不了,右键查看源代码

发现有一个页面,访问该页面,下载一个www.zip包,打开里面的python程序,发现是代码

对代码进行审计

那这就有点意思了,正常文件都是有后缀名的,有. 的,要怎么绕过呢?

往下翻,发现os.path.join()函数

os.path.join()

作用:用于拼接文件路径,可以传入多个路径,传入文件时,

如果没有以“/”开始的参数,函数会自动加上,

如果是以“/”为开始的参数,函数会从最后一个"/"开始拼接,之前的全部舍弃。 

同时存在以‘’./’与‘’/’’开始的参数,以‘’/’为主,从最后一个以”/”开头的参数开始拼接,之前的参数全部丢弃。

只存在以‘’./’开始的参数,会从”./”开头的参数的上一个参数开始拼接。

一般flag都是命名为flag文件,放在根目录下,我们可以上传一个文件,改名为/flag,利用os.path.join()这个函数

注意要放包

得到flag:NSSCTF{9485af6f-488e-46a9-91cc-e7b879c23d00}


[SWPUCTF 2022 新生赛]1z_unserialize

1、题目

2、知识点

php反序列化

3、思路

审计代码

__destruct()

会将对象被调用完后进行销毁,也就是代码执行完后执行

->用来引用一个类的属性(变量)、方法(函数)

$a = $this->lt;

将lt的值赋给变量a
$a($this->lly);

加入a是一个函数,想当于a(lly)

所以,我们可以构造系统执行命令,system(cat /flag)

system()赋给$lt,cat /flag给$lly,这样就可以得到flag了,POC如下

<?php
class lyh{
    public $url = 'NSSCTF.com';
    public $lt='system';
    public $lly='cat /flag';
}
$poc=new lyh();
echo serialize($poc);
?>

POST方式上传nss参数的内容

得到flag:NSSCTF{b17cd668-888d-4a73-8881-8e2c2120ea87}


这篇文章就写到这里,哪里不足的或者不懂的欢迎批评指出

  • 29
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值