owasp top10

1.失效的访问控制

2.加密机制失效

3.注入(包括跨站脚本攻击XSS和SQL注入等)

4.不安全设计

5.安全配置错误

6.自带缺陷和过时的组件

7.身份识别和身份验证错误

8.软件和数据完整性故障

9.安全日志和监控故障

10.服务端请求伪造SSRF

sql注入

原理

用户的可控的输入嵌入到sql语句中并被服务端执行,导致应用程序的信息泄露以及攻击者写入webshell

分类

请求头的注入、联合查询注入、报错注入、布尔盲注、堆叠注入、时间盲注 、宽字节注入

防御

使用预编译;

黑名单:对特殊的字符例如括号斜杠进行转义过滤删除;

白名单:对用户的输入进行正则表达式匹配限制;

规范编码以及字符集,否者攻击者可以通过编码绕过检查;

参数化查询。

宽字节注入

由于PHP utf-8编码 数据库GBK编码,PHP发送请求到mysql时经过一次gbk编码,因为GBK是双字节编码,所以我们提交的%df这个字符和转译的反斜杠组成了新的汉字,然后数据库处理的时候是根据GBK去处理的,然后单引号就逃逸了出来

xss注入

原理

攻击者在Web页面中注入恶意的Script代码,当用户浏览该网页时,嵌入的Script代码会被执行,从而达到攻击的目的。

类型

反射型XSS 存储型XSS DOM型XSS

绕过方法

  • 大小写转换;

  • 引号的使用;

  • 使用 / 代替空格;

  • 编码绕过(将字符进行十进制或者十六进制转码);

  • 双写绕过;

  • 使用制表符、换行符和回车符

  • 使用 IMG 源

危害

  • 窃取cookie
  • 抓取屏幕截图
  • 获取键盘记录
  • 重定向
  • 植入广告,恶意链接
  • 网页钓鱼
  • 网页挂马

防范措施

对用户的输入进行过滤,白名单,黑名单规则。

使用 HttpOnly Cookie

设置X-XSS-Protection属性

开启CSP网页安全策略

避免内联事件

使用模板引擎

CSRF漏洞

类型

GET类型,POST类型

危害

盗用其他用户或者管理员的账号

获取个人隐私或者机密资料

联合其他漏洞组合拳

防范措施

验证码验证

在请求地址中添加 token 并验证

验证 HTTP头的Referer 字段

HTTP 头中自定义属性并验证

SSRF漏洞

存在位置

分享:通过URL地址分享网页内容

转码服务

在线翻译

图片加载与下载:通过URL地址加载或下载图片

图片、文章收藏功能

未公开的api实现以及其他调用URL的功能

绕过手法

  • 利用@绕过限制白名单域名
  • 绕过限制白名单内网IP
  • 绕过限制请求http协议

危害

  • 对外网、服务器所在内网、本地进行端口扫描
  • 向内部任意主机的任意端口发送payload来攻击内网服务
  • DOS攻击(请求大文件,始终保持连接Keep-Alive Always)
  • 攻击内网的web应用,如直接SQL注入、XSS攻击等
  • 利用file、gopher、dict协议读取本地文件、执行命令等
  • 可以无视网站CDN

防范措施

  • 禁止跳转
  • 过滤返回的信息
  • 统一错误信息
  • 限制请求的端口
  • 禁止除HTTP和HTTPS外的协议
  • 对请求地址设置白名单或者限制内网IP

XXE漏洞

如何构建XXE攻击

  • 直接通过DTD外部实体声明
  • 通过DTD文档引入外部DTD文档,再引入外部实体声明
  • 通过DTD外部实体声明引入外部实体声明

危害

  • 任意文件读取
  • 系统命令执行
  • 执行远程代码
  • DOS拒绝服务攻击
  • 内网端口探测
  • 攻击内网网站
  • 钓鱼

防范

  • 禁用外部实体的引入
  • 过滤如SYSTEM等敏感关键字,防止非正常、攻击性的外部实体引入操作。

文件上传漏洞

原理

Web页面中文件上传功能没有对上传的文件做合理严谨的过滤,导致用户可以利用此功能,上传能被服务端解析执行的文件,并通过此文件获得执行服务端命令的能力。

绕过方法

  • 前端JS禁用绕过
  • 简单修改后缀名绕过
  • 抓包修改MIME类型
  • 后缀名大小写绕过
  • 图片马绕过
  • %00,0x00截断
  • .htaccess文件绕过
  • .user.ini.绕过
  • 条件竞争绕过
  • ::$DATA绕过
  • +空格+点绕过
  • 后缀名双写绕过
  • 特殊可解析后缀绕过

危害

  • 上传webshell,控制服务器、远程命令执行

  • 上传系统病毒、木马文件进行挖矿、僵尸网络

  • 进行提权操作

  • 修改web页面,实现钓鱼、挂马等操作。

  • 进行内网渗透。

监测点

  • 客户端的JS检测(主要检测文件名后缀)
  • 服务端检测(MINE类型检测、文件后缀名、文件格式头)

防范措施

  • 文件上传的目录设置为不可执行

  • 严格判断文件类型

  • 使用随机数修改文件名和文件路径

  • 单独设置文件服务器的域名

  • 内容检测

  • 安全加固中间件

  • 采用WAF等安全防护设备

1.检测网站流程

A.信息收集

  • whois,社工库,社交帐号关联
  • 查询旁站
  • 查询服务器版本
  • 查看ip
  • 扫描目录结构

B.漏洞扫描

开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等

C.漏洞利用

拿到webshell或其他权限

D.权限提升

提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,linux脏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权

e.日志清理

f.总结报告及修复方案

2.如何手工快速判断目标站是windows还是linux服务器?

linux大小写敏感,windows大小写不敏感。

3..htaccess文件

htaccess文件时Apache服务中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮助我们实现:网页301重定向、自定义404错误页面,改变文件扩展名、允许/阻止特定的用户或者目录的访问,禁止目录列表,配置默认文档等功能

其中.htaccess文件内容:SetHandler application/x-http-php的意思是设置当前目录所有文件都使用php解析,那么无论上传任何文件,只要符合php语言代码规范,就会被当做PHP执行。不符合规则则报错

4.CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?

XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。

CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁止对外部实体的解析。

5.常见的未授权访问漏洞有哪些?

  • MongoDB未授权访问漏洞
  • Redis未授权访问漏洞
  • Memcached未授权访问漏洞
  • JBOSS未授权访问漏洞
  • VNC未授权访问漏洞
  • Docker未授权访问漏洞
  • ZooKeeper未授权访问漏洞
  • Rsync未授权访问漏洞

6.应急响应的思路?

  • 信息收集
  • 阻断攻击行为
  • 进行数据保护
  • 安全事件影响根除
  • 恢复业务

7.溯源反制的思路

a.攻击源捕获

  • 安全设备报警,如扫描IP、威胁阻断、病毒木马、入侵事件等
  • 日志与流量分析,异常的通讯流量、攻击源与攻击目标等
  • 服务器资源异常,异常的文件、账号、进程、端口,启动项、计划任务和服务等
  • 邮件钓鱼,获取恶意文件样本、钓鱼网站 URL 等
  • 蜜罐系统,获取攻击者 ID、电脑信息、浏览器指纹、行为、意图的相关信息

b.溯源反制

  • IP 定位技术
    根据IP定位物理地址–代理 IP
    溯源案例:通过 IP 端口扫描,反向渗透服务器进行分析,最终定位到攻击者相关信息
  • ID 追踪术
    ID 追踪术,搜索引擎、社交平台、技术论坛、社工库匹配
    溯源案例:利用 ID 从技术论坛追溯邮箱,继续通过邮箱反追踪真实姓名,通过姓名找到相关简历信息
  • 网站 url
    域名 Whois 查询–注册人姓名、地址、电话和邮箱 –域名隐私保护
    溯源案例:通过攻击 IP 历史解析记录/域名,对域名注册信息进行溯源分析
  • 恶意样本分析
    提取样本特征、用户名、ID、邮箱、C2 服务器等信息–同源分析
    溯源案例:样本分析过程中,发现攻击者的个人 ID 和 QQ,成功定位到攻击者
  • 社交账号
    基于 JSONP 跨域,获取攻击者的主机信息、浏览器信息、真实 IP 及社交信息等
    利用条件:可以找到相关社交网站的 jsonp 接口泄露敏感信息,相关网站登录未注销

c.攻击者画像

  • 攻击路径

攻击目的:拿到权限、窃取数据、获取利益、DDOS 等
网络代理:代理 IP、跳板机、C2 服务器等
攻击手法:鱼叉式邮件钓鱼、Web渗透、水坑攻击、近源渗透、社会工程等

  • 攻击者身份画像

虚拟身份:ID、昵称、网名
真实身份:姓名、物理位置
联系方式:手机号、qq/微信、邮箱
组织情况:单位名称、职位信息