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、羊城杯 2020easycon

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

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

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

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

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

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

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

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

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

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

相关推荐
anOnion8 小时前
构建无障碍组件之Menu Button pattern
前端·html·交互设计
用户47949283569158 小时前
claude Fable用不了?把Gpt 5.5pro接到你的claude code里
前端·后端
JieE2129 小时前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
冬奇Lab11 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
zhangxingchao11 小时前
Kotlin常用的Flow 操作符整理
前端
IT_陈寒13 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端
Pedantic14 小时前
SwiftUI 手势笔记
前端·后端
橙子家14 小时前
浏览器缓存之【结构化数据库与缓存】: IndexedDB、Cache storage 和 Storage buckets
前端
user205855615181314 小时前
X6 中边悬浮置顶,规避 `mouseleave` 事件丢失问题
前端
李明卫杭州14 小时前
CSS aspect-ratio 属性完全指南
前端