• 主页
  • 相册
  • 随笔
  • 目录
  • 存档
Total 244
Search AboutMe

  • 主页
  • 相册
  • 随笔
  • 目录
  • 存档

信安小知识-3

2020-06-22

1. CDN绕过

  • 子域名查询

    因为使用CDN是需要费用的,所以一般公司可能不会让所有的子域名都使用CDN,一般访问量较少的可能没有使用CDN。那么那个子域名的ip就有可能是目标站点的真实IP了

  • 国外地址请求
  • 邮件服务查询

    通过各种方式,让对方给你发送邮件。注册验证码、社工、等等

    • 以qq邮箱为例:只需要点查看邮件原文,关注Received即可
  • dns历史记录
  • ssrf

2. CDN流量放大攻击

2.1. 背景

CDN的全称是Content Delivery Network(内容分发网络),通过在网络各处的加速节点服务器来为网站抵挡恶意流量,把正常流量进行转发

1
2
3
4
5
6
7
1. 跨运营商加速:我们自己的网站常常只属于一个运营商(比如:电信),而加速节点遍布每家运营商,于是和网站不同运营商(比如:联通)的用户访问起来就不会那么慢了。
2. 缓存加速:很多的静态资源以及一部分页面更新都是比较慢的(比如首页),这个时候CDN就会根据浏览器的max-age和last-modified值以及管理员的预设值来进行缓存,于是很多流量CDN节点就不会每次都来向网站请求,CDN节点可以直接自作主张地将命中的缓存内容返回。
3. 恶意流量过滤:这是CDN非常重要的一个作用,也是很多网站会用CDN的原因,因为CDN能为我们抵挡攻击大流量攻击、普通的攻击(比如注入等),只有正常流量才会转发给网站。

源站:我们自己的那个网站就被称为是源站。
反向代理:CDN节点向源站请求数据的方式就叫反向代理,也就是上文所说的转发。
回源:CDN节点向源站请求数据的行为就叫做回源。

2.2. 防御

1
2
3
4
1. 禁止把源站IP设为CDN节点本身(这是必须的)。
2. 限制每个站点的带宽。
3. 对请求超时的源站做一定限制。
4. 通过X-Forwarded-For来进行限制,超过多少层自动丢弃。

3. 后端程序获取客户端IP

设置转发请求头

1
... location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://127.0.0.1:8080; } ...

后端获取

  • 先获取 X-Real-IP
  • 如果获取不到 X-Real-IP,通过 X-Forwarded-For 取
  • 如果再取不到,就直接取 remote_addr

3.1. nginx 配置 X-Forwarded-For 的风险

X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段

  • 用户可以通过自己设置请求头来伪造 ip。
    • 比如在发起 http 请求时设置请求头 x-forwarded-for:1.1.1.1。
    • 那么服务器通过 x-forwarded-for 获取到的第一个 ip 就是用户伪造的 ip

3.2. 防止伪造方案

  • 在只有 1 层 nginx 代理的情况下,设置 nginx 配置:proxy_set_header X-Forwarded-For $remote_addr;

4. 水坑攻击

顾名思义,是在受害者必经之路设置了一个“水坑(陷阱)”。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”。这种攻击是针对网站服务器的,在传输过程中的加密和认证无法防范这种攻击。

5. cc攻击

攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC(Challenge Collapsar)。
CC主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就相当可观

6. ssl pining

ssl证书绑定

7. 挂马

所谓的挂马,就是黑客通过各种手段,包括SQL注入,网站敏感文件扫描,服务器漏洞,网站程序0day, 等各种方法获得网站管理员账号,然后登陆网站后台,通过数据库“备份/恢复”或者上传漏洞获得一个webshell。利用获得的webshell修改网站页面的内容,向页面中加入恶意转向代码。也可以直接通过弱口令获得服务器或者网站FTP,然后直接对网站页面直接进行修改。当你访问被加入恶意代码的页面时,你就会自动的访问被转向的地址或者下载木马病毒。

7.1. arp挂马攻击

1
2
3
4
5
6
正常时候: A---->B ,A是访问的正常客户,B是要攻击的服务器,C是被我们控制的主机 
arp中间人攻击时候: A---->C---->B
B---->C---->A
实际上,C在这里做了一次代理的作用

那 么HTTP请求发过来的时候,C判断下是哪个客户端发过来的包,转发给B,然后B返回HTTP响应的时候,在HTTP响应包中,插入一段挂马的代码,比如 <iframe>...之类,再将修改过的包返回的正常的客户A,就起到了一个挂马的作用.在这个过程中,B是没有任何感觉的,直接攻击的是 正常的客户A,如果A是管理员或者是目标单位,就直接挂上马了.

7.1.1. 防御

1
2
3
4
5
在主机上静态绑定mac地址

在主机上arp防火墙

利用交换机的防arp欺骗技术,比如DAI

8. Windows平台通过栈溢出想要利用包含stack cookie保护的函数都有哪些可能的方式

  • 暴力猜解cookie内容
  • 更改函数内部变量改变逻辑
  • SEH覆盖

参数-->返回地址-->老的栈底指针-->cookie-->局部变量-->...

8.1. GCC 的 -fstack-protector 编译选项

-fstack-protector 选项并不会对所有的函数加以保护。它只会为:

1
2
调用了 alloca 的函数
存在超过 8 个字节的缓冲区的函数

添加栈溢出保护。与之类似的还有两个选项:-fstack-protector-strong 和 -fstack-protector-all。-fstack-protector-strong 属于加强版本,它除了上面两类函数,它还会为:

1
2
定义了局部数组的函数
持有局部栈地址的函数

添加保护。-fstack-protector-all 一眼便知,它会为所有函数都添加栈溢出保护。

另外还有一个编译选项 -fstack-protector-explicit,它则表示这项功能默认关闭,只对那些显式声明了 stack_protect 属性的函数添加保护。

8.2. MSVC 的 /GS 编译选项

/GS 同样不会保护所有的函数,它只保护包含有“GS Buffer”的函数

8.3. 绕过 Security Cookie

  • 函数编写的不够谨慎,使得 printf 能够泄露出 Security Cookie 的值

  • 如果能够重复地溢出同一个进程(例如函数调用了 fork,使得原来的进程不会崩溃退出),则可以尝试暴力破解

  • 参考1

  • 参考2

8.4. SEH

SEH为”Structured Exception Handler“的缩写,我们在编写程序时经常会遇到需要捕获某些异常进行特殊处理的情况,简单来说,就是try&catch语法

9. Nginx的安全加固

  • nginx的Worker进程不能以root权限启动
  • 图片等静态资源目录不能给脚本执行权限
  • 禁止访问.git、.svn和.sql目录,可以防止因运维操作不当造成的代码或数据泄漏
  • sec
  • Security
  • Web Security
  • Note
虚内存
linux小知识-1
  1. 1. 1. CDN绕过
  2. 2. 2. CDN流量放大攻击
    1. 2.1. 2.1. 背景
    2. 2.2. 2.2. 防御
  3. 3. 3. 后端程序获取客户端IP
    1. 3.1. 3.1. nginx 配置 X-Forwarded-For 的风险
    2. 3.2. 3.2. 防止伪造方案
  4. 4. 4. 水坑攻击
  5. 5. 5. cc攻击
  6. 6. 6. ssl pining
  7. 7. 7. 挂马
    1. 7.1. 7.1. arp挂马攻击
      1. 7.1.1. 7.1.1. 防御
  8. 8. 8. Windows平台通过栈溢出想要利用包含stack cookie保护的函数都有哪些可能的方式
    1. 8.1. 8.1. GCC 的 -fstack-protector 编译选项
    2. 8.2. 8.2. MSVC 的 /GS 编译选项
    3. 8.3. 8.3. 绕过 Security Cookie
    4. 8.4. 8.4. SEH
  9. 9. 9. Nginx的安全加固
© 2024 何决云 载入天数...