安全厂商面试资料系列(二)

admin 2023年5月15日22:51:57评论33 views字数 4159阅读13分51秒阅读模式

安全厂商面试资料系列(二)

1、常见后门方式?

    windows:

    1.替换系统文件类(shift后门,放大镜后门)

    2.修改注册表类

    自启动项、屏幕保护程序注册表、用户登陆初始化、映像劫持、影子账户、文件关联

    3.文件类

    自启动文件夹、office启动劫持

    4.计划任务 schtasks 、WMI、bitsadmin

    Linux:

    1.预加载型动态链接库后门

    2.SSH 后门

    3.SUID后门

    4.vim后门

    5.PAM后门

    6.进程注入

    7.Rootkit

    8.端口复用


2、发现IIS的网站,怎样试它的漏洞?(根据版本)

    1.IIS5.0/6.0/7.5解析漏洞

    2.IIS7.5 NET源代码泄露和身份验证漏洞

    3.IIS7.5ASP验证绕过

    4.IIS6.0安装PHP绕过认证漏洞


3、鱼叉式攻击和水坑攻击?

    鱼叉式钓鱼攻击一般通过电子邮件等电子通信方式进行,针对特定个人、组织或企业,窃取的资料信息更敏感更有价值。主要通过诱使点击恶意连接或者输入账号密码获取信息。

    水坑攻击算是鱼叉攻击的延伸:

    攻击者定期观察受害者或特定团体经常访问的网站,然后用恶意软件感染这些网站。

    然后寻找这些网站的漏洞,并将恶意编程代码(通常以JavaScript或HTML形式)注入到网站上显示的广告或横幅上。

    然后恶意代码会将受害者重定向到存在恶意软件或恶意广告的网络钓鱼网站上。

    当受害者访问这些网站时,受害者的计算机就会自动下载包含恶意软件的脚本。

    然后恶意软件会收集受害者的个人信息,并将其发送给攻击者操作的C&C服务器。

    其他的钓鱼方式:

    钓鱼WiFi、伪基站、钓鱼二维码、U盘钓鱼


4、中间件漏洞总结?

    (一) IIS

        1、PUT漏洞

        2、短文件名猜解

        3、远程代码执行

        4、解析漏洞

    (二) Apache

        1、解析漏洞

        2、目录遍历

    (三) Nginx

        1、文件解析

        2、目录遍历

        3、CRLF注入

        4、目录穿越

    (四)Tomcat

        1、远程代码执行

        2、war后门文件部署

    (五)jBoss

        1、反序列化漏洞

        2、war后门文件部署

    (六)WebLogic

        1、反序列化漏洞

        2、SSRF

        3、任意文件上传

        4、war后门文件部署

    (七)其它中间件相关漏洞

        1、FastCGI未授权访问、任意命令执行

        2、PHPCGI远程代码执行


5、中间人攻击(Burp抓包原理)?

    中间人攻击是一个(缺乏)相互认证的攻击;由于客户端与服务器之间在SSL握手的过程中缺乏相互认证而造成的漏洞 (攻击方式SSLSniff、SSLStrip)

防御中间人攻击的方案通常基于以下几种技术:

    1.公钥基础建设PKI 使用PKI相互认证机制。

    2.延迟测试

    使用复杂加密哈希函数进行计算以造成数十秒的延迟;如果双方通常情况下都要花费20秒来计算,并且整个通讯花费了60秒计算才到达对方,这就能表明存在第三方中间人。

    3.使用其他形式的密钥交换形式

    ARP欺骗:

    原理:

    每台主机都有一个ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址。在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换。这样攻击者就有了偷听主机传输的数据的可能

    防护

    1.在主机绑定网关MAC与IP地址为静态(默认为动态),命令:arp -s 网关IP 网关MAC

    2.在网关绑定主机MAC与IP地址

    3.使用ARP防火墙


6、数据库存储引擎

    数据库体系结构由客户端连接层、数据库服务层及存储引擎层组成。

存储引擎是数据库中具体与文件打交道的子系统,存储引擎底部是物理存储层,是文件的物理存储层,包括二进制日志、数据文件、错误日志、慢查询日志、全日志等。

    不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能

    InnoDB:主流的存储引擎。(MySQL)

    MyISAM:访问速度快,不支持事务,逐渐被淘汰

    MEMORY:BTREE索引或者HASH索引。


7、PHP代码审计中容易出问题的点?                                          https://github.com/bowu678/php_bugs,https://github.com/hongriSec/PHP-Audit-Labs

    1、弱类型(比较、字符类型转换)

    intval函数四舍五入(小数取整绕过)

    intval函数转换字符串

    if($a>1000){

        mysql_query(‘update … …. set value=$a’)

    } //$a一定是整数。然而,你输入1002/*/union 也能进入这个语句

    数组转字符串

    数组转换成string返回数组并抛出warning;

    Array转换整型int/浮点型会返回元素个数;

    Array转换bool返回Array中是否有元素;

    Strcmp()函数 无法比较数组,比较时报错并返回0 PHP5.3之前版本,ereg正则%00截断16.php?nctf=1%00%23biubiubiu 支持5.3之前版本的php之后使用preg_match()函数替代(也有绕过分析)

    strpos出错返回的也是null 原来是判断字符串,我们传入一个数组返回值就是null null!=false

    序列化:将php中对象、类、数组、变量、匿名函数等,转化为字符串 方便保存到数据库或者文件中(将状态信息保存为字符串)

    unserialize()反序列化参数可控

   iconv在字符编码转换时可能导致字符串截断。上传的文件名为shell.php{%80-%99}.jpg 上传绕过

    filter_var ( url,FILTER_VALIDATE_URL )使用PHP内置特定过滤器过滤url

    可能使用伪协议绕过,再次输出url时造成XSS

    ?url=javascript://comment%250a alert(1)

    foreach 语句滥用造成的变量覆盖

    3、默认缺省参数缺陷

    in_array(a,array,FALSE)函数 检查数组中是否存在某个值

第三个参数默认为FALSE,若粗心的开发没有写第三个参数为true的话,比较过程只进行弱类型检查,容易产生绕过

    htmlentities(string,缺省参数) 将字符转换为 HTML 转义字符

    三大缺省参数:

    ENT_COMPAT(默认值):只转换双引号。

    ENT_QUOTES:两种引号都转换。

    ENT_NOQUOTES:两种引号都不转换。

    同样的若是开发人员不专心,没加缺省参数,造成单引号逃逸


8、IP伪造?

    由于TCP需要三次握手连接,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以伪造数据包来源 IP ,但这会让发送出去的数据包有去无回,无法实现正常的通信 但是一些DDoS攻击可以

    后端IP获取来源

    REMOTE_ADDR是远端IP,默认来自tcp连接客户端的Ip。可以说,它最准确,确定是,只会得到直接连服务器客户端IP。如果对方通过代理服务器上网,就发现。获取到的是代理服务器IP了。

HTTP_X_FORWARDED_FOR 为了能在大型网络中,获取到最原始用户IP,或者代理IP地址。对HTTp协议进行扩展,定义的实体头。后端处理若这种方法,可能会造成XFF注入和伪造IP绕过访问限制

X-Real-IP X-Forwarded-For在无代理时可以理解为用户的IP地址,有反向代理时,先将REMOTE_ADDR赋给X-Real-IP,最后可以从X-Real-IP中获取用户的IP。

    CDN-Src-IP CDN节点会以某种方式将源客户端的IP传递给源服务器


9、SQL注入过滤了逗号,怎么弄?

    1、可以用join

    select id,ip from client_ip where 1>2 union select from ((select user())a JOIN (select version())b);

    2、可以用from 1 for 1

    select substr(database() from 1 for 1);

    select mid(database() from 1 for 1);

    3、offset

    select * from news limit 0,1

    等价于下面这条SQL语句

    select * from yang limit 1 offset 0


10、XSS?

      (XSS的根源主要是代码层没有对输入输出做好过滤)

        反射性XSS都是把恶意数据传入服务器,不过滤再回传浏览器造成的;

DOM型XSS主要是通过改变浏览器页面的DOM节点形成的,可能不会经过服务器(PHP_SELF)

        存储型XSS主要是从数据库里取出来输出到浏览器时没有做实体化编码过滤。

        XSS蠕虫的产生条件:(不一定需要存储型XSS)

        一个是产生XSS点的页面不属于self页面

        用户之间产生交互行为的页面

        XSS防护

        处理输出编码,js转译.实体化编码

        黑白名单过滤(编码限制,标签限制,符号限制)

        跨域限制

        CSP内容安全策略(浏览器前端防护策略) 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。将同源同域发挥到极致。它的实现和执行全部由浏览器完成,开发者只需提供配置。CSP 大大增强了网页的安全性。攻击者即使发现了漏洞,也没法注入脚本,除非还控制了一台列入了白名单的可信主机。主要防止XSS漏洞,但是不能杜绝XSS。

绕过:

Html5新标签属性


JavaScript伪协议

编码混淆



原文始发于微信公众号(铁幕攻防实验室):安全厂商面试资料系列(二)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月15日22:51:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   安全厂商面试资料系列(二)https://cn-sec.com/archives/1037595.html

发表评论

匿名网友 填写信息