AI摘要:文章是关于BugKu PAR应急加固一的解决步骤。包括Js劫持、黑客首次webshell密码、黑客首次入侵方式、黑客服务器的信息、黑客的webshell2、mysql、黑客的账号、被篡改的命令一、二和修复js劫持等问题的解决方法。每个问题都有详细的解决步骤和相应的代码示例,以帮助读者理解和解决这些问题。
直接访问服务器IP
,发现title
是xxxx
二手交易市场,随后跳转,跳转后的网页就是第一题flag
,注意末尾删除\
flag:https://www.194nb.com
/var/log/nginx/access.log
找到上传的php文件然后找到密码: QjsvWsp6L84Vl9dRTTytVyn5xNr1
/var/www/html/public/Uploads
找到可疑文件6127418cad73c.php
查看内容找到密码
flag:QjsvWsp6L84Vl9dRTTytVyn5xNr1
通过上面我们得到了攻击者的ip地址:123.139.39.161
,直接在日志中搜索,审查日志发现是XSS
flag:XSS
查看服务器进程:
ps -aux
发现www-data
有个1.sh
脚本在运行
查看发现是个反弹shell
flag:49.232.241.253:8888
继续审查nginx日志
,已知第一个webshell
是6127418cad73c.php
我们可以借助awk
处理日志
awk '/\.php/ && !/6127418cad73c\.php/ {print $0}' access.log
找到含有.*.php的行,且不是6127418cad73c.php
发现有个/static/img/1.php
查看
找到flag: flag{5t945bbwxokj87f1ucjb2vc7zdnf8ix3}
查看/var/www/html/application/database.php
得到
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'aman',
// 用户名
'username' => 'root',
// 密码
'password' => '123456',
// 端口
'hostport' => '',
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'aman_',
// 数据库调试模式
'debug' => true,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 自动读取主库数据
'read_master' => false,
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型
'resultset_type' => 'array',
// 自动写入时间戳字段
'auto_timestamp' => !true,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 是否需要进行SQL性能分析
'sql_explain' => false,
];
连接数据库
mysql -u root -p
查看当前MySQL
版本
mysql> SELECT version();
+-------------------------+
| version() |
+-------------------------+
| 5.5.62-0ubuntu0.14.04.1 |
+-------------------------+
1 row in set (0.00 sec)
后续参考BugKu -- PRA -- 应急加固1_bugku应急加固1-CSDN博客需要回收用户的file权限并关闭全局日志功能
revoke file on *.* from 'root'@'localhost';
set global general_log = off;
flush privileges;
查看cat /etc/passwd
发现用户aman
userdel -r aman
删除该用户
查看/bin
目录,发现ps
和ls
命令下面有一个类似的ps_
和ls2
rm ps
mv ps_ ps
rm ls
mv ls2 ls
# 根据wp删除之前找到的webshell2
rm /var/www/html/public/static/img/1.php
进入/var/www/html
,运行
root@iZuf6chotfate198s5e8j8Z:/var/www/html# find . | xargs grep -ri '<script type="text/javascript">' -l | sort | uniq -c
6 ./application/home/view/public/js.html
4 ./runtime/temp/7989650828d8c92a2cbbbcbe7c322c03.php
4 ./runtime/temp/ba0546f2ed29bcb24fbace34b295ef45.php
4 ./thinkphp/tpl/dispatch_jump.tpl
4 ./thinkphp/tpl/page_trace.tpl
查看./application/home/view/public/js.html
删除混淆的js代码