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。

相关推荐
LuckyLay2 分钟前
React百日学习计划——Deepseek版
前端·学习·react.js
多多*6 分钟前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
gxn_mmf7 分钟前
典籍知识问答重新生成和消息修改Bug修改
前端·bug
hj10438 分钟前
【fastadmin开发实战】在前端页面中使用bootstraptable以及表格中实现文件上传
前端
前进的程序员9 分钟前
嵌入式开发中 C++ 跨平台开发经验与解决方案
开发语言·c++
乌夷17 分钟前
axios结合AbortController取消文件上传
开发语言·前端·javascript
晓晓莺歌41 分钟前
图片的require问题
前端
神仙别闹1 小时前
基于C#+MySQL实现(WinForm)企业设备使用信息管理系统
开发语言·mysql·c#
czhaii1 小时前
PLC脉冲位置 单片机跟踪读取记录显示
开发语言·c#
码农黛兮_461 小时前
CSS3 基础知识、原理及与CSS的区别
前端·css·css3