记录个人web测试总结经验

快捷栏

  • 漏洞
      • 17年OWASP TOP10漏洞
      • 常见的Web安全漏洞
  • Sql注入
      • 注入类型
      • Sql原理:
      • Sql注入产生的原理条件:
  • XSS
      • XSS分类:反射型、存储型、dom型
      • Xss原理:
      • 三个类型的区别:
      • 修复方式:
  • 上传
      • 文件上传漏洞原理
      • 常见的上传绕过方式 :
  • 其他漏洞的话~推荐一些搜索网页吧,可以自行搜索一波!!!
      • 搜索网页:
  • 中间件
  • 端口
  • 工具
      • SQLmap工具:
      • Nmap工具:
  • Waf(防火墙)
      • 防火墙的基本功能:
      • 防火墙工作方式:
  • 一些安全文章公众号

漏洞

17年OWASP TOP10漏洞

  1. Sql注入

  2. XSS

  3. 敏感信息泄漏

  4. 失效的身份认证:

  5. 失效的访问控制:管理页面仅能管理员权限访问;越权漏洞

  6. 安全配置错误

  7. XXE XML外部实体

  8. 不安全的反序列化:

  9. 不足的日志记录和监控:

  10. 使用含有已知漏洞的组件:比如structs2框架

常见的Web安全漏洞

SQL注入
XSS
文件遍历、文件上传、文件下载
垂直越权、水平越权 逻辑漏洞

Sql注入

注入类型

  1. 报错型注入
  2. 布尔型注入:根据返回页面判断条件真假的注入
  3. 时间的盲注:不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
  4. 宽字节注入
  5. 联合查询,可以使用 union 的情况下的注入。
  6. 堆查询注入,可以同时执行多条语句的执行时的注入。

Sql原理:

概述:在与用户交互的程序中(如web网页),非法用户通过输入可控参数注入到sql语句中,将恶意的sql语句拼接到原本设计好的sql语句中,从而破坏原本sql语句结构,执行原本计划不同的行为,达成程序编写意料之外的行为。其本质就是使用了字符串拼接方式构造sql语句,并且对于用户输入检查不充分,导致了sql语句将用户提交的非法语句的一部分来执行,从而造成了sql注入。

Sql注入产生的原理条件:

  1. 程序编写者在处理程序和数据库交互时,使用字符串拼接的方式构造sql语句。
  2. 不安全的数据库配置,比如对查询集不合理处理,对sql查询语句错误时不当的处理,导致其错误信息暴露在前段。
  3. 过于信任用户在前端所输入的数值,没有过滤用户输入的恶意数据,并且对用户可控参数进行足够的过滤便将数据内容拼接到sql语句中,直接把用户输入的数据当做sql语句执行,从而影响数据库安全和平台安全。

详细Sql注入:https://blog.csdn.net/chest_/article/details/102537988
http://sqlwiki.radare.cn/#/misc/tools

XSS

XSS分类:反射型、存储型、dom型

Xss原理:

**反射性xss:**反射型是用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻 击。需要诱使用户“点击”一个恶意链接,才能攻击成功。
存储型xss:存储型xss会把用户输入的数据“存储”在服务器。这种xss具有很强的稳定 性。
**Dom型xss:**通过修改页面的Dom节点形成的XSS,称之为Dom Based xss。严格来说 也属于存储型XSS也是持久保存在页面上,但是他是插入dom节点上,比较 难以发现。(DOM型xss抓不了包)

三个类型的区别:

反射型xss是直接在输入框插入xss代码,提交后产生弹窗,输入对应的信息;存储型xss写入后能持久保存在页面上;dom型xss也是持久保存在页面上,但是他是插入在dom节点上,比较难发现。

修复方式:

  1. 对字符实体进行转义
  2. 使用HTTP Only来禁止JavaScript读取Cookie值
  3. 输入时校验
  4. 浏览器与Web应用端采用相同的字符编码
    题外话: xss绕过有很多(比较少见的比如:拿css绕过和js绕过),靶场也很多(如:https://xss.haozi.me/#/0x01),自己可以搜索一些来练练手。

上传

文件上传漏洞原理

由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件

常见的上传绕过方式 :

  1. 前端 js 验证:用burp 抓包->改包
  2. 大小写
  3. 双重后缀名
  4. 过滤绕过 pphphp->php
    修复方式:
  5. 文件上传目录设置为不可执行
  6. 使用白名单判断文件上传类型
  7. 用随机数改写文件名和路径

其他漏洞的话~推荐一些搜索网页吧,可以自行搜索一波!!!

搜索网页:

  1. https://www.secpulse.com/
  2. https://www.csdn.net/
  3. https://www.t00ls.net
  4. https://search.freebuf.com/
  5. https://www.anquanke.com/
  6. ……

中间件

常见中间件漏洞: lls、Tomcat、Apache、Nginx、jBoss、Weblogic

  1. IIS:PUT漏洞、短文件名猜解、远程代码执行、解析漏洞
  2. Apache:解析漏洞、目录遍历
  3. Nginx:文件解析、目录遍历、CRLF注入、目录穿越
  4. Tomcat:远程代码执行、war后门文件部署
  5. jBoss:反序列化漏洞、war后门文件部署
  6. WebLogic:反序列化漏洞、SSRF、任意文件上传、war后门文件部署
  7. 其它中间件相关漏洞:FastCGI未授权访问、任意命令执行、PHPCGI远程代码执行

详细中间件测试漏洞: https://www.freebuf.com/articles/web/192063.html

端口

端口漏洞总集:
https://mp.weixin.qq.com/s?__biz=MzAwMjA5OTY5Ng==&mid=2247486664&idx=1&sn=01ebc7c8c07e0e661ea6fbcb3fb69e25&chksm=9acedc57adb955415e133a986f36ed8b983a97fe853b3379d2011a01602031db1cf7e7f0c571&mpshare=1&scene=1&srcid=&sharer_sharetime=1593393913546&sharer_shareid=a019f29c2e253fb9cebc001fc3ae6a7d&key=4b0291f9d497b1b094e9ebac91dcfb13f71b6ff060a38193238fbfe2c3109f6b2e2cd788ca28bafda9d5d6af54a15c71d76d38f36c01714e4108ea9e7b403b87246676e5ce31aa7b924b7bef59d9256e&ascene=1&uin=MjQ1MzQ2OTIxOQ%3D%3D&devicetype=Windows+10+x64&version=62090070&lang=zh_CN&exportkey=A6ZfreOQPdlMv2KzXQZpnHo%3D&pass_ticket=TXwmG%2FRMaZeHTBKjNI3IRAgcqnODpbpWKbm6bFzwBQ27BnNo9P30LcsyQD5PHFYn

工具

常用工具: sqlmap、nmap、burp、awvs、御剑等

SQLmap工具:

常用参数

-u 单个URL -m xx.txt 多个URL
-d "mysql://user:[email protected]:3306/dvwa"  作为服务器客户端,直接连接数据库
--data post/get都适用
-p 指定扫描的参数
-r 读取文件
-f 指纹信息
--tamper 混淆脚本,用于应用层过滤
--cookie --user-agent --host等等http头的修改
--threads 并发线程 默认为1
--dbms MySQL<5.0> 指定数据库或版本

–level=LEVEL 执行测试的等级(1-5,默认为 1)
–risk=RISK 执行测试的风险(0-3,默认为 1) Risk升高可造成数据被篡改等风险
–current-db / 获取当前数据库名称
–dbs 枚举数据库管理系统数据库
–tables 枚举 DBMS 数据库中的表
–columns 枚举 DBMS 数据库表列
-D DB 要进行枚举的数据库名
-T TBL 要进行枚举的数据库表
-C COL 要进行枚举的数据库列

Nmap工具:

常用参数

nmap hostname/ip或者多个ip或者子网192.168.123.*
-iL ip.txt 扫描ip.txt的所有ip
-A 包含了-sV,-O,探测操作系统信息和路由跟踪。一般不用,是激烈扫描
-O 探测操作系统信息
-sV 查找主机服务版本号
-sA 探测该主机是否使用了包过滤器或防火墙
-sS 半开扫描,一般不会记入日志,不过需要root权限。
-sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批的链接请求以及错误信息。
-sP ping扫描,加上这个参数会使用ping扫描,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping,却实际存在。
-sN TCP空扫描
-F 快速扫描
-Pn 扫描之前不使用ping,适用于防火墙禁止ping,比较有用。
-p 指定端口/端口范围
-oN 将报告写入文件
-v 详细信息
-T<0-5> 设定速度

Waf(防火墙)

防火墙: 安全狗、云盾、网神、云锁、宝塔、卫士

防火墙就是一种过滤塞,你可以让你喜欢的东西通过这个塞子,别的玩意都统统过滤掉。在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。

防火墙的基本功能:

–>数据包过滤.
–>服务代理.
–>加密认证.
–>记录和报警.
–>VPN和宽带管理.
–>基于源IP地址和目标IP地址的过滤.
–>基于协议和端口的过滤.
–>配合其他设备实现基于url的过滤和病毒的过程.

防火墙工作方式:

1.包过滤:
防火墙部署在访问资源必经的链路上,对出入的每一个数据包逐条匹配ACL,直到适合某条规则,根据规则放行或丢弃.

2.状态检查:
状态检测技术采用一种基于协议(如TCP协议)运行时状态跟踪检测机制,将属于同一连接的所有包作为一个整体的数据流看待,构成连接状态表,通过规则表与状态表的共同配合,对表中的各个连接状态因素加以识别。

3.应用代理:
应用代理技术是指在web服务器上或某一台单独主机上运行代理服务器软件,对网络上的信息进行监听和检测,并对访问内网的数据进行过滤,从而起到隔断内网与外网的直接通信的作用,保护内网不受破坏。

一些安全文章公众号

个人喜欢的公众号:酒仙桥六号部队、腾讯玄武实验室、安全加等
其他的安全文章公众号(里面有二维码)链接:https://mp.weixin.qq.com/s?__biz=MzU4MDIzMDcyNw==&mid=2247483740&idx=1&sn=84a37eb1262e3725ab4251082f2ff98e&chksm=fd5b4a74ca2cc362420ca768af278cd404d3bf82e73c0ec5c857948a314ecb03b35542da933a&mpshare=1&scene=1&srcid=0704wDuR3CGUACBi5SQxvfxW&sharer_sharetime=1593878232494&sharer_shareid=4497283bc99b51ec677fdc3fd86e4982&key=0f1187fb9cce3ad0f5c4e6c8b7bfb183bdad56efcf2e89b3521e04ffc310a774c5c7db2afe9de59e4e3ed07ff214b1d1373d9a85a9cb89d1dacc022d5f1e1b0551d6cf97da1b47efa40d774379e72cc2&ascene=1&uin=MjQ1MzQ2OTIxOQ%3D%3D&devicetype=Windows+10+x64&version=62090523&lang=zh_CN&exportkey=A9szCmZKzd0xm5OC%2FL8D82w%3D&pass_ticket=M4x60%2BaATWUNdngcSyj147HsYn0zQr0ivmXcCco2TT5ABqsd9JPzbyK616bds%2FMt

你可能感兴趣的:(记录个人web测试总结经验)