渗透测试面经之——渗透测试与漏洞分析

渗透测试与漏洞分析

 

  • owasp top10漏洞

    • SQL注入
    • 失效的身份认证和会话管理
    • 跨站脚本攻击 XSS
    • 直接引用不安全的对象
    • 安全配置错误
    • 敏感信息泄露
    • 缺少功能级的访问控制
    • 跨站请求伪造 CSRF
    • 使用含有已知漏洞的组件
    • 未验证的重定向和转发
    • https://www.cnblogs.com/MI6plus/p/11488609.html
  • xss如何盗取cookie

    • 通过存储型XSS漏洞嵌入脚本代码,用户访问的时候直接用js脚本将cookie发送给攻击者的服务器
  • 渗透测试的流程是什么

    • (分为黑盒测试和白盒测试)
    • 信息收集
      • 判断域名ip(是否CDN)
      • 站长之家whois信息,子域名,DNS记录查找真实ip
      • 识别网站指纹找到CMS对应漏洞
      • 整站分析(主机和端口扫描):服务器系统、中间件、脚本类型、数据库类型
      • 旁站(同一ip不同的网站)和C端(xxx.xxx.xxx.1-255中任意网站)
    • 漏洞探测
      • AVWS、AppScan、OWASP-ZAP、Nessus扫描器使用
    • 漏洞利用获得shell
      • 一句话木马、msf的metepreter、存储型xss、msf提权等等
    • 内网渗透阶段
      • 内网穿透
      • 多去目录看看,找一找文件,说不定会有用的信息
    • 痕迹清除
      • msf删日志:clearev
    • 撰写报告
  • xss如何防御

    • html实体化、输入输出的字符都要做过滤和编码、关键的cookie使用http-only
  • xsscookie一定可以无用户名密码登录吗?

    • 只要会话隔得时间不是很久远就可以,还要看网站对于cookie
  • SSL Strip(SSp)攻击到底是什么?

    • SSL是一种适用于点对点通信的加密协议,HTTP协议加上SSL就成了安全的HTTPS协议,理论上成为了安全的通信
    • SSp攻击方式类似于ARP欺骗,在受害者不知情的情况下把黑客误认为是网关,在web服务器的HTTPS页面传输给受害者中途会经过黑客的电脑,黑客将其篡改成HTTP页面,然后受害者一时粗心大意便会在HTTP页面上输入账号密码并将其发送给黑客,黑客获取有用信息后再将内容页面转换成HTTPS发送给web服务器;这样受害者的信息就泄露了
  • 中间人攻击——ARP欺骗的原理、实战及防御

    • 网关:作用于传输层或应用层;通俗易懂的解释就是一个局域网通向了一个局域网的门,只能通过这个门来进行两个网络之间的通信
    • ARP协议:
      • 工作于数据链路层,在以太网中,设备之间通信是通过MAC地址而不是ip地址,ARP协议就是吧IP地址转化成MAC地址;RARP正好相反
      • CMD命令查看ARP缓存表:arp -a
    • ARP欺骗
      • 利用了ARP协议的致命漏洞:当请求主机接受ARP应答包的时候不会去验证自己是否向对方主机发送过ARP请求包,就直接写入ARP缓存表中
      • 假设主机 A(192.168.1.2)、B(192.168.1.3)、C(192.168.1.4)和网关G(192.168.1.1) 在同一局域网,A和B通过网关G相互通信,就好比A和B两个人写信,由邮递员G送信,C永远都不会知道A和B之间说了些什么话。突然C去和A说 “ 我现在是邮递员,你把要给B的信给我就可以了 ”(源IP(假的):192.168.1.1,源MAC:C的MAC地址,目标IP192.168.1.2,目标MAC:A的MAC),然后C去和G说: “ 我现在是A,我会把送给B的信件给你 ” (源IP(假的):192.168.1.2,源MAC:C的MAC,目标IP:192.168.1.1,目标MAC:G的MAC);这样一来,A给B的信件都会转接C之手了;这就是ARP欺骗。
  • 会话劫持原理

    • 什么是会话: Telnet到某台主机,这就是一次Telnet会话;浏览某个网站,这就是一次HTTP会话
    • 通过嗅探或者欺骗的手段在双方会话中进行监听或者直接代替某一方接管会话
    • 会话劫持种类:
      • 中间人攻击:对双方透明的中间人,在中间代替某一方接受对方的数据在转发给另一方(SSp攻击,ARP欺骗
      • 注射式攻击: 它不会改变会话双方的通讯流,而是在双方正常的通讯流插入恶意数据。
  • CC攻击

    • 攻击者借助代理服务器,用多个线程模拟多个用户,进行DDOS攻击,而且是无法辨认攻击来源的DDOS(多个代理)
  • 添加时间戳防止重放攻击

    • 重放攻击:攻击者截取到了发往某服务器的加密请求包,虽然无法解密但是可以不停地向服务器发送这个请求包,造成服务器拒绝服务
    • 向请求包中添加时间戳可以有效的防止重放攻击
  • HTTPS中间人攻击与证书校验

    • HTTPS证书体制: 证书是https里非常重要的主体,可用来识别对方是否可信,以及用其公钥做密钥交换。可以看见证书里面包含证书的颁发者,证书的使用者,证书的公钥,颁发者的签名等信息。 
    • HTTPS中间人攻击:https握手过程的证书校验环节就是为了识别证书的有效性唯一性等等,所以严格意义上来说https下不存在中间人攻击,存在中间人攻击的前提条件是没有严格的对证书进行校验,或者人为的信任伪造证书
  • 什么是HttpOnly?

    • 在cookie中设置了http-only属性的话,javascript脚本就无法读取到cookie信息
  • 简单的查找旁站

    • 站长之家的同IP网站查询
  • 什么是WebShell?

    • Webshell就是通过asp、php、jsp、cgi等服务器可执行的网页文件,在网站后台创造一个命令可执行环境,然后可以通过这些可连接的后门可执行文件,达到控制网站服务器的目的( 上传下载文件,查看数据库,执行任意程序命令等
  • 什么是网络钓鱼?

    • 一种社会工程学攻击方式,通过伪造网站,诱使用户登陆上虚假的网站进行密码的输入等等
  • dll文件是什么意思,有什么用?DLL劫持原理

    • 什么是DLL文件: DLL(Dynamic Link Library)文件, 即动态链接库,也有人称作应用程序拓展。 Windows应用程序设计中,实行了模块化设计,每一个独立的程序可以调用系统中公共的dll文件,有效的解决了代码复用等等问题,提高了程序运行效率;
    • 应用程序如何调用DLL文件: 加载程序必须在磁盘上搜索DLL文件。首先会尝试从当前程序所在的目录加载DLL,如果没找到,则在Windows系统目录中查找,最后是在环境变量中列出的各个目录下查找。
    • DLL劫持: 伪造一个系统同名的DLL,提供同样的输出表,每个输出函数转向真正的系统DLL。程序调用系统DLL时会先调用当前目录下伪造的DLL,完成相关功能后,再跳到系统DLL同名函数里执行。这个过程用个形象的词来描述就是系统DLL被劫持(hijack)了。
  • 0day漏洞

    • 是已经发现但是官方还没发布补丁的漏洞。
  • Rootkit是什么意思

    • Rootkit 是一种特殊类型的恶意软件。Rootkit 之所以特殊是因为您不知道它们在做什么事情。Rootkit 基本上是无法检测到的,而且几乎不可能删除它们。 Rootkit 的目的在于隐藏自己以及其他软件不被发现。它可以通过阻止用户识别和删除攻击者的软件来达到这个目的。Rootkit 几乎可以隐藏任何软件,包括文件服务器、键盘记录器、Botnet 和 Remailer。 Rootkit 本身不会像病毒或蠕虫那样影响计算机的运行,反而会在后台悄无声息的偷偷运行; 对于找出的 Rootkit,最好的应对方法便是擦除并重新安装系统。虽然这种手段很严厉,但是这是得到证明的唯一可以彻底删除 Rootkit 的方法。
  • 蜜罐

    • 估计暴露给攻击者的环境,将会被模拟成真正的网站或者服务器系统,从而让该系统的安全维护者们知道攻击者的攻击方式,也可以通过它窃听黑客之间的联系,收集黑客们所使用的工具,并掌握他们的社交网络。 所谓魔高一尺道高一丈
  • DDOS

    • 分布式拒绝服务(DDoS:Distributed Denial of Service)
    • SYN Flood的基本原理
      • TCP握手协议 第一次握手时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。
  • 震网病毒

    • 指一种蠕虫病毒,是第一个专门定向攻击真实世界中基础(能源)设施的“蠕虫”病毒,比如核电站,水坝,国家电网。只要电脑操作员将被病毒感染的U盘插入USB接口,这种病毒就会在神不知鬼不觉的情况下(不会有任何其他操作要求或者提示出现)取得一些工业用电脑系统的控制权。
    • 与传统的电脑病毒相比,“震网”病毒不会通过窃取个人隐私信息牟利。无需借助网络连接进行传播。这种病毒可以破坏世界各国的化工、发电和电力传输企业所使用的核心生产控制电脑软件,并且代替其对工厂其他电脑“发号施令”。极具毒性和破坏力。“震网”代码非常精密,主要有两个功能,一是使伊朗的离心机运行失控,二是掩盖发生故障的情况,“谎报军情”,以“正常运转”记录回传给管理部门,造成决策的误判。
    • https://baike.baidu.com/item/%E9%9C%87%E7%BD%91%E7%97%85%E6%AF%92/3559601?fr=aladdin
  • 一句话木马

    • https://blog.csdn.net/Alexz__/article/details/102488644
    • asp一句话木马:
      • <%execute(request("value"))%>
    • php一句话木马:
      •    
      • 变形:
    • aspx一句话木马:
      • <%@ Page Language="Jscript"%>
      • <%eval(Request.Item["value"])%>
  • 手工查找后门木马的小技巧

    • 任务管理器“启动项”查看正在运行的服务
    • WIN10下的: C:\Users\Users\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 文件夹存放着开机自启动的软件
    • Linux下:
      • 查看开机启动项: systemctl list-unit-files --type=service|grep enabled
      • 禁用:sudo systemctl disable xxxx.service
  • SSRF漏洞    

    • SSRF(Server-Side Request Forgery:服务器端请求伪造)  ;是一种攻击者从服务端发起请求的一个安全漏洞;通常情况下,攻击者通过服务端访问的目标都是我们从外部无法访问的内容、域名、文件或网站等等;
    • 最可能出现的地方:在页面中有通过url进行数据交互的点,例如:
      • 社交分享中提取的超链接的内容
      • 转码服务( 通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
      • 在线翻译
      • 提交url进行图片下载
      • 云服务厂商(通过远程命令判断目标是否存活等等)
      • 网站采集
      • 部分数据库内置的功能(monghdb的copyDatabase函数)
      • 编码处理( 比如ffpmg,ImageMagick,docx,pdf,xml处理器等
      • 未公开的api实现以及其他扩展调用URL的功能
      • 从远程服务器请求资源(upload from url 如discuz!;import & expost rss feed 如web blog;使用了xml引擎对象的地方 如wordpress xmlrpc.php)
      • https://www.freebuf.com/articles/web/20407.html
 
 
 
 = =

你可能感兴趣的:(漏洞分析,web安全理论)