nss刷题(4)

1、[SWPUCTF 2021 新生赛]easyrce

php 复制代码
 <?php
error_reporting(0);
highlight_file(__FILE__);
if(isset($_GET['url']))
{
eval($_GET['url']);
}
?> 

if(isset(_GET\['url'\])) isset函数用来检测url变量是否存在;_GET函数获取变量数据

eval($_GET['url']); eval函数用来执行参数数据,并返回结果,其中字符串当作PHP代码来执行。

利用eval函数进行命令执行尝试

/?url=system('ls /');

得到了根目录内容

看到一个与flag有关的文件,用cat命令查看。

得到flag

.system函数

该函数会将执行的结果输出并将输出结果的最后一行作为字符串返回,如果执行失败则返回fale。这个函数也是经常被使用到的。

php 复制代码
<?php
highlight_file(__FILE__);
system('pwd');
?>

2.1.2.exec函数

该函数不会输出结果,但是会返回执行结果的最后一行,可以结合output进行结果的输出。

php 复制代码
<?php
highlight_file(__FILE__);
exec('pwd',$b);
var_dump($b);
?>

2.1.3.passthru函数

该函数只调用命令,并将运行的结果原封不动的输出,没有相应的返回值。

php 复制代码
<?php
highlight_file(__FILE__);
passthru('ls');
?>

 

2.1.4.shell_exec函数

该函数不会输出结果,返回执行结果 使用反引号(``)时调用的就是此函数。

php 复制代码
<?php
highlight_file(__FILE__);
var_dump(shell_exec('ls'));
?>

2、[SWPUCTF 2021 新生赛]babyrce

php 复制代码
 <?php
error_reporting(0);
header("Content-Type:text/html;charset=utf-8");
highlight_file(__FILE__);
if($_COOKIE['admin']==1) 
{
    include "../next.php";
}
else
    echo "小饼干最好吃啦!";
?> 小饼干最好吃啦!

用if语句判断cookie的值是否等于 admin=1,如果相等则输出包含的文件../next.php,尝试cookie注入。

得到了一个php文件,打开看看,是一段新的代码。

php 复制代码
 <?php
error_reporting(0);
highlight_file(__FILE__);
error_reporting(0);
if (isset($_GET['url'])) {
  $ip=$_GET['url'];
  if(preg_match("/ /", $ip)){
      die('nonono');
  }
  $a = shell_exec($ip);
  echo $a;
}
?> 

正则匹配"/ /",因此要得到flag需要绕过空格

空格绕过:

> < <> 重定向符

%20(space)

%09(tab)

IFS9

${IFS}(最好用这个)

$IFS

%0a 换行符

{cat,flag.txt} 在大括号中逗号可起分隔作用

所以用${IFS}绕过空格,查看根目录内容。

发现有一个flllllaaaaaaggggggg,flag应该就在里面,用cat命令查看。

得到flag

3、[羊城杯 2020]easycon

打开页面后没有提示和信息,尝试查看源码

看到了一个地址,尝试查看,发现了一个index.php,打开后发现又回到了刚才的页面。

换一个思路,尝试目录扫描,

扫描出了两个文件,尝试打开看一下。

打开后得到一个弹窗页面,eval post cmd想到一句话木马或者命令执行。

尝试蚁剑链接,发现数据为空应该不是一句话木马。

尝试命令执行,通过post传入参数

尝试打开txt文件查看内容,命令执行cat

查看到一串字符串,猜测可能需要转成jpg格式

是一个base64转图片,得到flag。

相关推荐
zwjapple32 分钟前
docker-compose一键部署全栈项目。springboot后端,react前端
前端·spring boot·docker
枯萎穿心攻击33 分钟前
响应式编程入门教程第二节:构建 ObservableProperty<T> — 封装 ReactiveProperty 的高级用法
开发语言·unity·c#·游戏引擎
Eiceblue2 小时前
【免费.NET方案】CSV到PDF与DataTable的快速转换
开发语言·pdf·c#·.net
m0_555762903 小时前
Matlab 频谱分析 (Spectral Analysis)
开发语言·matlab
像风一样自由20203 小时前
HTML与JavaScript:构建动态交互式Web页面的基石
前端·javascript·html
aiprtem3 小时前
基于Flutter的web登录设计
前端·flutter
浪裡遊3 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
why技术4 小时前
Stack Overflow,轰然倒下!
前端·人工智能·后端
GISer_Jing4 小时前
0704-0706上海,又聚上了
前端·新浪微博
止观止4 小时前
深入探索 pnpm:高效磁盘利用与灵活的包管理解决方案
前端·pnpm·前端工程化·包管理器