目录
有反序列化漏洞的中间件Tomcat、Jboss、weblogic
渗透测试流程
在拿到授权且与客户沟通之后,拿到客户提供的资产或者目标域名;
信息收集:主要使用nmap、御剑、fofa等工具,收集端口、同网段IP、子域名、相关服务、框架、使用的中间件等组件、各种版本信息、历史漏洞信息等相关信息,收集到信息后可以检索相关漏洞,再手动验证
漏洞扫描:根据收集到的信息使用漏扫等工具进行扫描爆破等自动化探测,按照扫描结果进行漏洞验证
手工漏洞挖掘:进行手工漏洞验证和手工漏洞的挖掘
先将收集到的框架漏洞、组件漏洞进行手工验证;
然后对主要功能点,比如登录页面、文件上传页面、信息查询页面、密码重置页面等,使用burpsuite等工具进行漏洞挖掘
提权:在客户许可后,对拿到shell权限的漏洞点进一步提权或者内网渗透
痕迹清除:清理渗透过程中留下的木马、账号等内容
报告书写:根据检查出的漏洞及漏洞修复建议,写漏洞报告
漏洞复测:在客户修复完成之后,进行漏洞复测,检查漏洞是否修复完成,完成闭环
常见端口
21 FTP
22 SSH
80 HTTP
443 HTTPS
445 ms17010漏洞利用端口
3389 远程桌面
3306 MySQL数据库
1433 SQLserver数据库
1521 orcle数据库
7001 weblogic中间件管理界面
8080 tomcat中间件管理界面
6379 redis数据库
Nmap
nmap hostname/ip或者多个ip或者子网192.168.123.*
-iL ip.txt 扫描ip.txt的所有ip
-A 包含了-sV,-O,探测操作系统信息和路由跟踪。一般不用,是激烈扫描
-O 探测操作系统信息
-sV 查找主机服务版本号
-sA 探测该主机是否使用了包过滤器或防火墙
-sS 半开扫描,一般不会记入日志,不过需要root权限。
-sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批的链接请求以及错误信息。
-sP ping扫描,加上这个参数会使用ping扫描,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping,却实际存在。
-sN TCP空扫描
-F 快速扫描
-Pn 扫描之前不使用ping,适用于防火墙禁止ping,比较有用。
-p 指定端口/端口范围
-oN 将报告写入文件
-v 详细信息
-T<0-5> 设定速度
SQL注入
SQL注入原理
未对客户端输入的内容校验,导致SQL语句传入数据库并执行,而产生的一个漏洞
SQL注入修复建议
加waf可以有效缓解,可以作为临时措施,根除的话需要修改源码,一般需要严格对输入参数进行SQL语句过滤,或者使用预编译(就是把要查询的语句先封装编译,后边输入的参数都会被作为字符串输入)
SQL注入漏洞挖掘
SQL注入漏洞一般出现在有数据交互的地方,比如登录页面、数据查询页面、新闻页面、数据新增页面等
SQL注入绕过方式
- 使用大小写混合;
- 使用内联注释的方式绕过,就是用/*!12345 语句 */
- 使用等价替换的方式,比如用like替换等号
- 使用16进制编码表示字符串,绕过对库名的过滤
sqlmap使用
-U USER 用来进行枚举的数据库用户
-r 使用文件作为注入时提交的数据包内容(可以结合burpsuite抓的流量包使用)
--dbms 指定数据库或版本
–dbs 枚举数据库管理系统数据库
–tables 枚举数据库中的表
–columns 枚举数据表中的列名
-D 库名 要进行枚举的数据库名
-T 表名 要进行枚举的数据库表
-C 列名 要进行枚举的数据库列
--os-shell 写入webshell
--dump 拖库
--tamper 使用自动化绕过脚本
常见的自动化脚本
base64encode.py 转为base64编码
charencode.py 使用url编码
chardoubleencode.py 双URL编码
unmagicquotes.py 宽字节注入
randomcomments.py 用/**/分割SQL关键字
文件上传漏洞
文件上传漏洞原理
因为对上传文件校验不够完善,而导致的可执行文件被上传到服务器,从而产生的漏洞。
文件上传漏洞修复建议
可以在服务端对文件后缀使用黑白名单结合的过滤方式,并且对文件内容进行校验,上传之后对文件名进行重命名操作,也可以使用微服务保存上传上来的文件。
文件上传绕过方式
1.黑名单
a.通过一些特殊后缀 .php5 、.phtml、.asa、.jap等
b.上传.htacess 点h t 额可赛思
c.大小写pHp
d.在数据包中 后文件缀名前加空格
e.后缀名前加.
f.加上::$DATA
g.未循环验证,可以使用x.php..类似的方法
2.白名单(一般需要配合其他漏洞一起利用)
a.%00截断
b.图片马
c.条件竞争
文件包含漏洞
文件包含漏洞原理
原理:文件包含本身是正常功能,如果客户端可以干预被包含的文件名,导致包含了恶意文件,就会产生漏洞
文件包含四个PHP相关函数
1.include():使用此函数,只有代码执行到此函数时才将文件包含进来,发生错误时只警告并继续执行。
2.inclue_once():功能和前者一样,区别在于当重复调用同一文件时,程序只调用一次。
3.require():使用此函数,只要程序执行,立即调用此函数包含文件,发生错误时,会输出错误信息并立即终止程序。
4.require_once():功能和前者一样,区别在于当重复调用同一文件时,程序只调用一次。
文件包含利用
1.读取敏感文件 file:// 伪协议
2.远程包含shell
3.图片上传并包含图片shell
4.使用伪协议 php://input 可以读取post传参的数据,然后都当成PHP代码执行
5.包含日志文件GetShell
6.截断包含 绕过
文件包含修复建议
修复:
- 设置PHP参数allow_url_include=off allow_url_fopen=off
- 对要包含的路径进行严格校验
XSS(跨站脚本攻击)
XSS原理
原理: 中文名是跨站脚本攻击,通过在客户端和服务器的访问过程中插入恶意脚本(一般
我们使用js代码),实现对用户浏览器的攻击
XSS最大的特点就是能注入恶意的HTML/JavaScript代码到用户浏览的网页上,是因WEB应用程序对用户输入过滤不严格而产生的,当用户浏览这些网页时,就会执行其中的恶意代码。由于HTML代码和客户端JavaScript脚本能在受害者主机上的浏览器任意执行,这样等同于完全控制了WEB客户端的逻辑,在这个基础上,黑客可以轻易地发起Cookie窃取,会话劫持,钓鱼欺骗等各种各样的攻击。
XSS修复建议
- 对输入的内容进行过滤,比如过滤掉<> 参数
- 对将要输出的内容进行HTML编码
- 对重要的cookie设置httpOnly参数 防止客户端通过document.cookie读取 cookie
!!!XSS与CSRF与SSRF漏洞区别
XSS是跨站脚本攻击,攻击的目标是客户端,因为是脚本攻击,所以JS脚本写什么,客户端就会做什么,比如窃取cookie利用方式比较灵活
CSRF是跨站请求伪造,攻击的目标也是客户端,利用时只能窃用cookie,只能利用存在csrf漏洞的功能点,局限性比XSS大
SSRF是服务端请求伪造,攻击的是服务端,危害较大,可以造成内网穿透、命令执行、内网信息泄露
CSRF(跨站请求伪造)
CSRF原理
原理:中文名跨站请求伪造,在用户保持登录状态的情况下,攻击者构造一个站点,诱导用户访问,用户访问后被恶意站点控制跳转到存在CSRF漏洞的页面,假如这个页面是密码修改页面,在这个过程中,保持登录状态的cookie就会被窃用,造成密码修改。
CSRF漏洞修复建议
- 在重要的功能点上,增加访问来源的验证,比如验证referer头
- 增加验证码验证,增加token验证
SSRF漏洞(服务端请求伪造)
SSRF漏洞原理
原理:本身是资源的引用,如果没有进行校验,会导致内网不想让别人访问的资源或服务被人探测甚至攻击到的一个漏洞。
SSRF漏洞修复建议
修复:
1.地址做白名单处理
2.域名识别IP 过滤内部IP
3.校验返回的内容,对比一下是否与预期的内容一致
XXE漏洞(XML文档外部实体注入)
XXE漏洞原理
原理: 又叫XML外部实体注入,由于过滤不严格导致的,用户传入的恶意XML文档被解析导致的漏洞
XXE漏洞修复建议
修复建议:
- 对用户提交的XML数据进行过滤;
- 设置PHP参数,禁用外部实体写入;
XXE危害
当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。
XXE触发点
xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件
反序列化漏洞
反序列化漏洞原理
原理:序列化是指Java对象转化为二进制文件的过程,反序列化指的是这个文件再转化为Java对象的过程,本身是个正常过程,但如果被转化的这个文件是个恶意的,转化后的对象也是会是恶意的,由此可造成命令执行等等威胁。
反序列化漏洞修复建议
一般我们遇到的反序列化漏洞,基本都是使用了具有反序列化漏洞的组件或者类造成的,一般我们打补丁或者升级到最新版本就可以防御。
Shiro反序列化漏洞
Shiro < 1.2.4版本会存在此漏洞,挖掘的时候删除请求包中的rememberMe参数,返回包中包含rememberMe=deleteMe字段。说明使用了shiro组件,可以尝试此漏洞。
如果返回包无此字段,可以通过在发送数据包的cookie中增加字段:****rememberMe=,然后查看返回数据包中是否存在关键字
此漏洞有两个版本利用方式,
SHIRO-550:
不需要提供秘钥,使用默认秘钥就可以利用
SHIRO-721反序列化漏洞
先爆破秘钥,成功后可以进一步利用
Fastjson反序列化漏洞
Fastjson提供了反序列化功能,允许用户在输入JSON串时通过“@type”键对应的value指定任意反序列化类名,由此造成反序列化漏洞;
漏洞挖掘方式:如果请求包中出现http头Accept:application/json,怀疑存在fastjson组件,构造报错,返回包中出现fastjson时,确认使用了fastjson组件,可以尝试此漏洞
Fastjson从1.2.24到1.2.67多个版本存在此漏洞,如果没有回显版本,可以将以下payload,挨个替换到请求内容,尝试是哪个版本的漏洞
{"@type":"java.net.InetSocketAddress"{"address":,"val":"aaa.dnslog.cn"}}
{"@type":"java.net.Inet4Address","val":"aaa.dnslog.cn"}
{"@type":"java.net.Inet6Address","val":"aaa.dnslog.cn"}
{"@type":"com.alibaba.fastjson.JSONObject",{"@type":"java.net.URL", "val":"http://aaa.dnslog.cn"}}""}
Set[{"@type":"java.net.URL","val":"http://aaa.dnslog.cn"}]
Set[{"@type":"java.net.URL","val":"http://aaa.dnslog.cn"}
{{"@type":"java.net.URL","val":"http://aaa.dnslog.cn"}:0
Log4j2 lookup 功能JNDI注入
原理:本身是Apache日志功能,他有个日志遍历的功能,当碰到${jndi:// } ,会遍历执行,JNDI功能又可以使用ldap或者rmi来引入class文件,我们只需要在class文件中加入需要执行的恶意代码,就可以造成代码注入
流量特征就是${jndi://ldap:// } ${jndi://rmi:// }
防御的话,升级版本,lookup参数设为yes
中间件漏洞
解析漏洞
Apache文件名解析
从后往前解析,如果解析文件a.php.abc,先解析abc,Apache发现不认识,就会往前,解析PHP,最终文件会以PHP方式解析
IIS解析漏洞
1、目录解析:IIS从前往后解析,解析a.asp/a.jpg文件时,会先发现asp后缀,以为文件格式为asp,按照asp的方式解析
2、文件名解析:IIS从前往后解析,解析a.asp;.jpg文件时,会先发现asp后缀,以为文件格式为asp,按照asp的方式解析
Nginx 畸形文件名解析
解析文件a.jpg文件时,访问a.jpg/.php,查找文件内容时,.php不是完整文件名,因此从后往前找到a.jpg文件,确认文件类型时,nginx关注的是后缀,.php有完整的后缀,所以按照php去解析,因此a.jpg文件就会被解析成php
有反序列化漏洞的中间件Tomcat、Jboss、weblogic
Weblogic漏洞
发现端口7001则存在weblogic
未授权访问、反序列化、ssrf漏洞、T3协议反序列化等
内网渗透
提权
Windows提权方式
1、内核提权,利用WinSystemHelper跑一下,给出适合的内核漏洞编号,尝试就可以了
2、数据库提权,MySQL UDF提权,SQLserver使用xp_cmdshell提权
3、应用提权
4、中间人劫持等
Linux提权
- 内核漏洞提权
- SUID提权 文件设置SUID 权限,会允许用户执行此文件时,以属主的身份运行,如果此文件的属主为root,则以root身份执行
- sudo提权 sudo命令可以使任意用户使用root权限执行命令,此命令被滥用会造成提权
- 定时任务提权 利用crontab设置定时任务,会默认以root身份执行
- curl提权 sudo curl file:///etc/shadow 会访问存有所以用户密码哈希值的shadow文件,以此获取到高权限用户密码
内网渗透工具
mimikatz主要用做域渗透
域信息收集
域内基础信息收集
金票:黄金票据,伪造TGT,相当于获取域控权限
银票:白银票据,伪造ST,登录特定服务
1、获取域SID
whoami /all
image.png
域SID主要是用来区分不同域,域用户SID是用来区分域内不同的用户的,在后续票据传递中会使用到。
2、查询域内用户
net user /domain
image.png
通过查询域内用户就可以知道当前这个域内所有的用户名
3、查看域用户的详细信息
net user tom /domain
image.png
通过查看域用户的详细信息可以得到域用户密码的到期时间,所属组以及上次登录的时间等信息
4、查询域列表(假如存在多个域)
net view /domain
image.png
通过查询域列表可以看到,当前存在两个域分别是:C1AY,SUB
5、查看域内主机信息
net view
image.png
通过查询域内主机信息可以看到,当前域内存在着3台计算机。
6、获取所在指定域下的主机名
net view /domain:C1ay
image.png
通过查询指定域下的主机名也可以看到,当前域内存在着3台主机。
7、查看域内计算机
net group "domain computers" /domain
image.png
通过查看域内计算机可以看到,一共有2台计算机加入了当前域。
8、查看域信任关系
nltest /domain_trusts
image.png
通过查看域信任关系可以判断出当前域是否存在着林信任或是父子域信任,后续在跨域攻击或者是跨林攻击中会使用到。
9、查询域密码信息
net accounts /domain
image.png
通过查询域密码信息我们就可以知道当前域用户多久修改⼀次密码,密码策略的是什么,就可以针对性的制定⼀份密码字典,提高效率。
10、查看域内时间(时间服务器)
net time /domain
image.png
通过查看域内时间(时间服务器),我们得知了当前域的时间,我们就可以通过使用定时任务+IPC远程连接的方式来运行⼀些bat文件,后续会详细介绍,
11、查看域内用户组列表
net group /domain
image.png
Domain Admins:域管理员。
Domain Computers: 域内机器。
Domain Controllers:域控制器。
Domain Guest: 域访客,权限较低。
Domain Users: 域用户。
Enterprise Admins: 企业系统管理员用户。
在默认情况下,Domain Admins和Enterprise Admins对域内所有域控制器有完全控制权限。
通过查看域的用户组我们可以知道每个组具体是做什么的,比如说⼀些大型企业或者集团会有专门设有财务组、信息组、营销组...等等,那么假设我们要针对于某个部门、某个组、在具体到某个人来进行渗透,那么搜集组信息就尤为关键了。
12、查看存在的用户
dsquery user
image.png
常用的dsquery命令如下:image.png
13、域内控制器的查找方式
1、通过nltest命令查找域控制器
nltest /dclist:hacker
image.png
可以看到当前域内存在着两台域控制器,一台为主控制器,一台为辅域控制器。
2、通过查询域内时间
net time /domain
image.png
因为时间服务器一般为域控制器,我们也可以通过ping命令来获取到域控制器的IP地址:
image.png
3、查看域控制器组
net group "Domain Controllers" /domain
image.png
4、查询主域控制器
netdom query pdc
image.png
5、nslookup查询
nslookup DC1.c1ay.lab
image.png
14、查看域管理员组
net localgroup administrators /domain
流量分析
wireshark使用
wireshark简单的过滤规则
过滤 ip:
过滤源 ip 地址:ip.src==1.1.1.1;,目的 ip 地址:ip.dst==1.1.1.1;
过滤端口:
过滤 80 端口:tcp.port==80,源端口:tcp.srcport==80,目的端口:tcp.dstport==80
协议过滤:
直接输入协议名即可,如 http 协议 http
http 模式过滤:
过滤 get/post 包 http.request.mothod=="GET/POST"
菜刀、蚁剑、冰蝎流量特征
菜刀特征
使用了base64的方式加密了发送给“菜刀马”的指令,其中的两个关键payload z1和z2,这个名字是可变的,请求中会有eval这个函数
蚁剑特征
默认的USER-agent请求头 是 antsword xxx,但是 可以通过修改:/modules/request.js 文件中 请求UA绕过
其中流量最中明显的特征为@ini_set("display_errors","0");这段代码基本是所有WebShell客户端链接PHP类WebShell都有的一种代码
蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“_0x......=”这种形式(下划线可替换),所以以_0x开头的参数名也很可能就是恶意流量
冰蝎
看包没有发现什么特征,但是可以发现它是POST请求的
1、Accept头有application/xhtml+xmlapplication/xmlapplication/signed-exchange属于弱特征(UA头的浏览器版本很老)
2、特征分析Content-Type: application/octet-stream 这是一个强特征查阅资料可知octet-stream的意思是,只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);很少使用
#冰蝎2特征:
默认Accept字段的值很特殊,而且每个阶段都一样冰蝎内置了十余种UserAgent ,每次连接 shell 会随机选择一个进行使用。但都是比较老的,r容易被检测到,但是可以在burp中修改ua头。
Content-Length: 16, 16就是冰蝎2连接的特征
#冰蝎3特征:
冰蝎3取消动态密钥获取,目前很多waf等设备都做了冰蝎2的流量特征分析,所以3取消了动态密 钥获取;php抓包看包没有发现什么特征,但是可以发现它是POST请求的
1)Accept头application/xhtml+xmlapplication/xmlapplication/signed- exchange属于弱特征
2)ua头该特征属于弱特征。通过burp可以修改,冰蝎3.0内置的默认16个userAgent都比较老。现实生活中很少有人使用,所以这个也可以作为waf规则特征
jsp抓包特征分析Content-Type: application/octet-stream 这是一个强特征查阅资料可知 octet-stream的意思是,只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交 一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);很少使用。
Web攻击类的流量告警处置
要按照不同的漏洞及危害程度进行研判和处置,一般方法是:
先看是不是攻击,是的话,攻击先封禁IP及端口,抑制攻击继续
再看有没有成功,成功的话,确定造成的影响,进行恢复
如果是已经沦陷的流量告警,如webshell通信(之前一定有webshell上传)、源地址是内网的攻击(此主机可能已经被攻击拿下),需要进行溯源
发现一个SQL注入告警怎么判断?
天眼告警页面有一个详情,可以打开具体的流量包,先看请求头和请求体是否含有SQL注入常用的SQL语句,比如and 1=1 ,比如sleep,比如updatexml等,如果有的话,说明是攻击,然后看响应,响应状态码为404这种情况,就是没有利用成功,如果是响应码是200,就看响应体内容,看是否包含查询出的预期结果,如果含有预期结果,则攻击成功,处置的话,先申请封禁IP,然后向客户申请对相关服务下架处理,然后对漏洞进行修复,如果被爆出了账号,需要修改密码。
应急
应急响应的六个过程?
准备 - 检测 - 抑制 - 根除 - 恢复 - 跟踪总结
中了病毒(或者挖矿病毒)、木马如何处置应急?
得看是什么系统,大体步骤都是差不多的
如果是Linux:
先隔离设备,然后登录该主机
- 首先根据告警中的端口和域名排查出进程ID(PID),命令为netstat -ano
如果没有端口或者通信ip信息,可以用top命令,列出当前cup占用率较大的可疑进程
- 根据查出的端口号定位文件后根据PID杀死进程
定位文件 ls -l /proc/端口号 ,结果中/proc/端口号/exe 链接到进程的执行命令文件
杀死进程 kill -9 PID号
- 文件加密保存取证以后,删除文件,使用杀软扫描一下,看是否有残余文件
- 找个文件沙箱(比如奇安信的TI系统)跑一下提取到的病毒文件,看看会造成什么行为,根据行为进行修复
- 检查是否留有可疑用户、可疑文件、ssh登录证书等后门,检查定时任务
- 排查一下文件是如何被上传的,大概率是web漏洞或ssh爆破上传的
- 写应急检查报告
如果是Windows
1、首先根据告警中的端口和域名排查出进程ID(PID),命令为netstat -ano
如果没有端口或者通信ip信息,可以用任务管理器,列出当前cup占用率较大的可疑进程
2、定位文件后根据PID杀死进程
定位文件 在任务管理器的详细信息界面根据pid,右键打开文件位置
杀死进程 taskill /t /pid PID号
3、文件加密保存取证以后,删除文件,使用杀软扫描一下,看是否有残余文件
4、找个文件沙箱(比如奇安信的TI系统)跑一下提取到的病毒文件,看看会造成什么行为,根据行为进行修复
5、检查是否留有可疑用户、可疑文件、后门,检查注册表是否有残余,检查系统自启动
6、排查一下文件是如何被上传的
7、写应急检查报告
/etc/passwd与/etc/shadow区别
/etc/passwd 存账户信息一般不存密码
/etc/shadow主要用来存密码
入侵排查思路
### 已经被入侵
一、目的已经达成,木马,后门均已销毁
1.既然知道被入侵,定位被入侵的时间点
2.如果这个服务器是云服务器,对其进行快照。(目的,封存内存。)
3.当定位到时间点,查设备流量信息。找到木马链接信息
4.查找系统内对应的日志,找到相关线索
5.如果日志被删除,因为机器快照已经建立。使用Winhex对硬盘数据进行恢复
二、目的没有达成,数据正在回传。木马,后门均在服务器上运行
1.下线服务器,封禁攻击IP
2.Volatility 内存取证 建立快照 提取内存定位到shellcode找到他的IP
3.如果他们使用常见的C2的工具,我们可以根据流量分析出入侵者的意图
4.关闭服务器,或者在防火墙上禁掉他们的IP。登录服务器,对shellcode进行移除
5.重启以后进入安全模式,排查注册表 计划任务 服务 放大镜后门 shift后门
正在被入侵
可能入侵者在尝试进行攻击的时候,下线,然后对机器进行排查
比如:弱口令爆破
1.弱口令爆破会产生日志,日志一定要采用远程日志系统,例如Linux的rsyslog。开启远程日志系统的好处:不怕日志被攻击者删除
2.一定要找到入侵者的源IP,在防火墙下发阻断策略
Linux系统排查思路
1、检查用户及密码文件/etc/passwd、/etc/shadow 是否存在多余帐号,主要看一下帐号
后面是否是 nologin,如果没有 nologin 就要注意;
2、通过 who 命令查看当前登录用户(tty 本地登陆 pts 远程登录)、w 命令查看系统
信息,想知道某一时刻用户的行为、uptime查看登陆多久、多少用户,负载;
3、修改/etc/profile的文件,在尾部添加相应显示时间、日期、ip、命令脚本代码,这样输入history命令就会详细显示攻击者 ip、时间历史命令等;
4、用 netstat -antlp|more命令分析可疑端口、IP、PID,查看下 pid 所对应的进程文件路径,运行ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的pid 号);
5、使用ps命令,分析进程 ps aux | grep pid
6、使用 vi /etc/inittab 查看系统当前运行级别,通过运行级别找到/etc/rc.d/rc[0~6].d对应目录是否存在可疑文件;
7、看一下crontab定时任务是否存在可疑启用脚本;
8、使用chkconfig --list 查看是否存在可疑服务;
9、通过grep awk命令分析/var/log/secure安全日志里面是否存在攻击痕迹;
10、chkrootkit、rkhunter、Clamav 病毒后门查杀工具对 Linux 系统文件查杀;
11、如果有 Web 站点,可通过 D 盾、河马查杀工具进行查杀或者手工对代码按脚本木马关键字、关键涵数(evel、system、shell_ex
Webshell查找
Windows环境使用d盾
Linux环境使用河马Linux
Cookie和Session的区别
cookie存放在本机,session存放在服务器
Cookie和Session都是用于跟踪用户的身份验证和状态的机制,但Cookie是在客户端存储数据,而Session是在服务器端存储数据