bugku 应急加固1

Linux的应急加固

一、JS劫持

获取JS劫持域名
JS劫持,JavaScript Hijacking介绍:
攻击者通过某种方式篡改网页中的JavaScript代码,从而使网页跳转到恶意域名。
常见攻击方式有:

  1. 中间人攻击,在网络传输过程中拦截并修改js代码
  2. 恶意注入,通过XSS漏洞向页面注入恶意JS代码
  3. 第三方库篡改
  4. DNS劫持,将JS文件请求重定向到恶意服务器

访问目标网站,自动跳转到恶意网站,这个恶意网站的域名就是被用于JS劫持的恶意域名。

二、黑客首次webshell密码

登录目标服务器,随手查看根目录文件,发现ls命令并不是默认展示形式,可能遭到篡改
在这里插入图片描述
进行日志分析,/var/log/nginx/access.log
1.可以下载后使用日志分析工具logparser分析,也可以使用linux命令
分析日志中出现的脚本文件,在正则表达式中.是通配符,需要借助/转义字符,否则会匹配其他字符
gerp -E '\.php|\.jsp|\.asp|\.aspx' ./access.log
2.日志记录了文件上传位置,可以去查看是否有异常文件
3.网站被劫持,抓包访问该网站,发现利用某个文件完成了网站跳转
在这里插入图片描述
查询第二个webshell,可以借助awk指令,查询.php但是非第一个webshell的日志
awk '/\.php/ && !/first\.php/ {print $0}' access.log
斜杠表示正则,反斜杠表示转义.,!表示排除,{print $0}表示打印当前行所有内容。{print $m,n} ,m,n!=0表示打印第m、n个字段

三、黑客首次入侵方式

日志分析获取了黑客的IP,查找首次入侵的尝试。
在这里插入图片描述
GET是没有请求体的,只能请求资源,这里Webshell已经上传成功了,这里的POST请求是蚁剑连接。
这里可以看到蚁剑流量特征。
在这里插入图片描述
筛选IP,审计日志,发现攻击特征
在线日志分析网站 ,不知道logparser为什么不能解析这个日志,明显的NCSA格式。
在这里插入图片描述
首次尝试为反射型XSS

常见的日志格式样例
NCSA192.168.1.1 - - [10/Oct/2023:12:34:56 +0800] “GET / HTTP/1.1” 200 1234
W3C/IIS2023-10-10 12:34:56 192.168.1.1 GET / 200
四、黑客服务器的信息

找到黑客留下的后门中黑客服务器的IP和端口号
后门往往通过反弹shell执行命令

  1. 查看可疑进程 ps -aux
  2. 发现有启动进程的指令异常

在这里插入图片描述
ps -aux:查看系统运行的进程信息(ps -u user,查看user启动的进程)
ps查看进程状态,ss查看网络连接(ss -tulnp,查看tcp、udp、监听端口、不显示服务名、进程信息)

五、修复MySQL可getshell漏洞

MySQL的getshell:就是在某些情况下,通过sql语句,能够写入shell code
修复漏洞,让前提条件中的任何一个(或全部)不满足即可

MySql的getshell方式前提条件
利用文件写入功能 into outfile
into dumpfile(查询结果以二进制形式写入)
secure_file_priv为空(未设置,NULL表示完全禁止)
知道网站绝对路径
当前用户需要有文件写入权限FILE
利用通用查询日志 general log执行操作的用户具有FILE权限
知道网站的绝对路径
慢查询日志 slow query log默认查询超过10s的记录会被记入慢查询日志中
第一步,开启日志,设置日志文件目录
第二步,通过查询将指令写入日志
提权方式
利用UDF提权通过create function 创建用户自定义函数,从而利用包含恶意代码的UDF库文件(Linux的.so文件、Windows的.dll文件)
这些包含恶意代码的UDF库文件包含系统命令调用的实现
利用MOF提权利用低版本Windows系统中,每几分钟会执行mof文件的特性

getShell和提权是两件事情,比如,利用MySQLgetShell后。发现Mysql以root权限运行,通过UDF获取root权限。

这的用户是MySQL用户,由MySQL自行管理,存储在mysql.user表中
FILE权限决定该用户能否执行文件操作命令

六、黑客的账号

找到黑客添加的账号并删除
cat /etc/passwd 查看用户
awk '/\$1|\$6/{print $1}' /etc/shadow 查看具有远程登录权限的用户
删除用户
userdel -r user,递归删除user目录

七、黑客篡改的命令

修复黑客篡改的命令,并删除篡改命令生成的免杀马
linux一切皆文件,指令也一样如此,可能黑客只是给原本的命令修改了名称,并自定义一个命令,cat同样可以查看command信息

Linux指令存放目录用途
/bin存放系统基础命令(如ls、cp、mv),所有用户可用
/sbin存放系统管理命令(如iptables、reboot),通常需要root权限
/usr/bin存放用户级应用程序/命令(如python、curl等),系统启动后加载
/usr/sbin存放非关键的超级用户命令(如useradd、userdel、usermod)
/usr/local/bin用户手动安装的软件(优先级高于/usr/bin)
/usr/local/sbin手动安装的系统管理命令

which ls 或 whereis ls 显示命令路径

八、修复JS劫持

有两种方法查询到异常的JavaScript代码

  1. 进入网站根目录 /var/www/html
    使用命令find .| xargs grep -ri '<script type=text/javascript">' -l|sort|uniq -c在这里插入图片描述
    依次查看文件,删除其中的恶意JavaScript代码
  2. 访问目标网站,使用burpsuite抓包,响应包中会触发恶意JavaScript
    在这里插入图片描述
    这种方式可能只适用靶场,因为被入侵会断网
    在这里插入图片描述
    vim快速删除8,9行之间的内容:8,9d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/86303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ant-design4.xx实现数字输入框; 某些输入法数字需要连续输入两次才显示

目录 一、问题 二、解决方法 三、总结 一、问题 1.代码里有一个基于ant封装的公共组件数字输入框&#xff0c;测试突然说 无效了&#xff0c;输入其他字符也会显示&#xff1b;改了只有又发现某些 输入法 需要连续输入两次 才能显示出来。 二、解决方法 1.就离谱&#xff0…

郑州工程技术学院赴埃文科技开展访企拓岗促就业活动

6 月 3 日&#xff0c;郑州工程技术学院信息工程学院&软件学院党总支书记尚德基、校企合作处处长吴博、软件学院院长叶恺、信息工程学院院长马耀锋、副院长黄继海、河南省人工智能产业创新发展联盟执行秘书长孟松涛等领导一行到访郑州埃文科技有限公司。埃文科技总经理助理…

pandas 字符串存储技术演进:从 object 到 PyArrow 的十年历程

文章目录 1. 引言2. 阶段1&#xff1a;原始时代&#xff08;pandas 1.0前&#xff09;3. 阶段2&#xff1a;Python-backed StringDtype&#xff08;pandas 1.0 - 1.3&#xff09;4. 阶段3&#xff1a;PyArrow初次尝试&#xff08;pandas 1.3 - 2.1&#xff09;5. 阶段4&#xf…

[特殊字符] 在 React Native 项目中封装 App Icon 一键设置命令(支持参数与默认路径)

📦 前置依赖 使用的是社区维护的 CLI 工具: @bam.tech/react-native-make它扩展了 react-native 命令,支持 set-icon 功能。 安装: yarn add -D "@bam.tech/react-native-make"🧠 封装目标 我们希望能够通过以下方式调用: # 默认使用 ./icon.png yarn …

[论文阅读] 人工智能 | 搜索增强LLMs的用户偏好与性能分析

【论文解读】Search Arena&#xff1a;搜索增强LLMs的用户偏好与性能分析 论文信息 作者: Mihran Miroyan, Tsung-Han Wu, Logan King等 标题: Search Arena: Analyzing Search-Augmented LLMs 来源: arXiv preprint arXiv:2506.05334v1, 2025 一、研究背景&#xff1a;…

[2025CVPR]确定性图像转换新突破:双逼近器布朗桥模型(Dual-approx Bridge)技术详解

本文深入解析CVPR 2024顶会论文《Deterministic Image-to-Image Translation via Denoising Brownian Bridge Models with Dual Approximators》,揭示确定性图像转换的核心突破 一、问题背景:确定性图像转换的挑战 在图像转换任务中(如超分辨率、医学影像处理),​确定性…

Python Pytest

1.Pytest用例发现规则 1.1 模块名(python文件)名必须以 test_ 开头或 _test 结尾&#xff0c;如 test_case&#xff0c;case_test&#xff0c;下划线都不能少 1.2 模块不能放在 . 开头的隐藏目录或者叫 venv的目录下&#xff0c;virtual environment&#xff0c;叫venv1都可以…

CSRF(跨站请求伪造)详解

目录 一、&#x1f4d6;什么是CSRF 二、&#x1f517;漏洞利用过程 三、&#x1f4d1;漏洞的前提条件 四、&#x1f50d;常见漏洞发生位置 五、✅CSRF挖掘技巧 (一) 抓正常请求包进行初步判断 (二) Referer 绕过验证测试 (三) Token 缺失与二次验证缺失识别 六、⚠️漏…

深入解析 Qwen3-Embedding 的模型融合技术:球面线性插值(Slerp)的应用

在深度学习领域&#xff0c;模型融合技术是一种强大的工具&#xff0c;用于提升模型的鲁棒性和泛化能力。通过结合多个模型的优势&#xff0c;可以减少单一模型的过拟合风险&#xff0c;并在多种任务中实现更优的性能表现。在 Qwen3-Embedding 的训练过程中&#xff0c;模型融合…

【在线五子棋对战】二、websocket 服务器搭建

文章目录 Ⅰ. WebSocket1、简介2、特点3、原理解析4、报文格式 Ⅱ. WebSocketpp1、认识2、常用接口3、websocketpp库搭建服务器搭建流程主体框架填充回调函数细节 4、编写 makefile 文件5、websocket客户端 Ⅰ. WebSocket 1、简介 WebSocket 是从 HTML5 开始支持的一种网页端…

针对异构数据的联邦学习

在联邦学习中&#xff0c;数据异构性是指不同客户端之间的数据分布差异&#xff0c;包括数据的特征空间、标签空间以及数据量等方面的差异。处理异构数据是联邦学习中的一个重要挑战&#xff0c;因为异构数据可能导致模型训练过程中的性能不稳定、收敛速度较慢&#xff0c;甚至…

【判断自整除数】2022-4-6

缘由是判断自整除数的&#xff0c;这个我的结果是正确的&#xff0c;但是提交就有运行错误是怎么回事啊-编程语言-CSDN问答 void 自整除数字() {//所谓的自整除数字就是该数字可以整除其每一个位上的数字。 //对一个整数n,如果其各个位数的数字相加得到的数m能整除n,则称n为自…

@Import原理与实战

文章目录 前言一、导入普通类二、导入ImportSelector实现类三、导入ImportBeanDefinitionRegistrar实现类四、Import注解的解析4.1、解析实现ImportSelector的候选bean4.2、解析实现ImportBeanDefinitionRegistrar的候选bean4.3、DeferredImportSelector的特殊处理 总结 前言 I…

day 18进行聚类,进而推断出每个簇的实际含义

浙大疏锦行 对聚类的结果根据具体的特征进行解释&#xff0c;进而推断出每个簇的实际含义 两种思路&#xff1a; 你最开始聚类的时候&#xff0c;就选择了你想最后用来确定簇含义的特征&#xff0c; 最开始用全部特征来聚类&#xff0c;把其余特征作为 x&#xff0c;聚类得到…

Java并发编程实战 Day 11:并发设计模式

【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天&#xff0c;今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案&#xff0c;它们不仅提供了优雅的设计思路&#xff0c;还能显著提升系统的性能…

iview组件库:当后台返回到的数据与使用官网组件指定的字段不匹配时,进行修改某个属性名再将response数据渲染到页面上的处理

1、需求导入 当存在前端需要的数据的字段渲染到表格或者是一些公共的表格组件展示数据时的某个字段名与后台返回的字段不一致时&#xff0c;那么需要前端进行稍加处理&#xff0c;而不能直接this.list res.data;这样数据是渲染不出来的。 2、后台返回的数据类型 Datalist(pn) …

Ubuntu下有关UDP网络通信的指令

1、查看防火墙状态&#xff1a; sudo ufw status # Ubuntu 2、 检查系统全局广播设置 # 查看是否忽略广播包&#xff08;0表示接收&#xff0c;1表示忽略&#xff09; sysctl net.ipv4.icmp_echo_ignore_broadcasts# 查看是否允许广播转发&#xff08;1表示允许&#xff09…

vue3:十六、个人中心-修改密码

一、页面效果 页面展示当前用户名(只读),展示需要输入的当前密码,输入新的密码以及确认密码的提交表单 二、初始建立 1、建立密码修改页面 在个人中心文件夹中写入新页面UpdatepwdView.vue 2、新建路由 在路由页面中写入修改密码页面 3、新建菜单 在菜单布局菜单页面中写…

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…

【Vue3】(三)vue3中的pinia状态管理、组件通信

目录 一、vue3的pinia 二、【props】传参 三、【自定义事件】传参 四、【mitt】传参 五、【v-model】传参&#xff08;平常基本不写&#xff09; 六、【$attrs】传参 七、【$refs和$parent】传参 八、provide和inject 一、vue3的pinia 1、什么是pinia&#xff1f; pinia …