安全测试

工具安装

 

手动测试用例

 

1.越权漏洞

越权漏洞包含:水平越权和垂直权限越权。水平权限发生场景:订单、地址、会员、商品等信息,比如order_id、id,memberId、userId。垂直权限:找到管理员特有的权限,如子账号删除主账号产品,成功则说明存在漏洞。敏感信息泄露场景列举:

使用一个没有当前操作权限的用户帐号登录,尝试进行操作。如果能够进行操作,证明存在Access Control漏洞。恶意用户可以查看他人敏感信息如物流单、订单、身份证号,从而造成严重的信息泄漏事件。易出现越权漏洞的参数和场景有:1、可能为泄漏订单的关键参数特征:order_id、orderid、id;2、可能为泄漏物流单的关键参数特征:trackid;3、可能为修改他人信息的关键参数特征:memberId、userId、uid;4、可能为泄漏身份证的关键参数特征:certno;5、导出excel的地方,易出现权限问题;(例如xls没有校验访问者权限,被搜索引擎索引等)

 

测试方法:

使用工具截取请求,修改请求参数并重放请求,如果能操作不在自己权限范围下的场景,说明漏洞存在。

  • Case1:截取post/get/ajax请求,修改成他人id,重放访问,提示无权限、返回为空或者错误页面
  • Case2:截取post/get/ajax请求,修改成不存在id,重放访问,返回结果为空或者错误页面

例如:后台产品detail链接http://posting.aliexpress.com/wsproduct/product_detail.htm? productId=32259596008&productLocale=1 Case1:枚举他人id,访问失败,提示:你无权浏览他们产品 Case2:枚举不存在id,访问失败,提示:产品不存在

  • Case3:枚举下属id,访问成功

 

2.敏感信息泄露

 

页面包含敏感数据,如:nick-id对应关系、手机号、邮箱、地址、密码、身份证、支付宝帐号、银行卡、密钥、cookie、token、验证码、交易信息等;用户可获得商品价格、成交记录、评论、销量、供应商/卖家信息等;

敏感信息的泄露需要重点关注,逻辑上是否安全,返回的内容是否包含敏感信息。

 

3.XSS漏洞

  • 带参数GET请求
    • 例如 URL: xxx.aliexpress.com/a/htm?searchtext=1234,修改为 xxx.aliexpress.com/a/htm?searchtext=aaaabbb,查看返回的源码里是否存在 aaaabbb ,查看 dom 中是否存在 aaaabbb ,存在则有问题。(源码查看用右键选择查看源代码,然后搜索相关内容;dom查看用F12,然后在代码框里 Ctrl+F 搜索)
  • 提交内容表单
    • 输入 aabb 提交。如果数据提交不成功。
    • 尝试使用burpsuite抓包,修改 POST请求的参数提交。注意观察其他页面是否也输出了此处的输入,因为存储型XSS可以跨页面输出。
    • 安全测试代码
  • json 接口需要特别测试 * 同上,框架不能覆盖 json 转义。 * 前端异步加载可能导致 dom XSS。因此需要在加载 json 的页面 dom里(chrome F12 查看dom) 搜索 json 内的危险字符

 

4.CSRF防御

  • POST请求,涉及数据增加、删除、修改的测试点:
    • 修改 token 的值,是否能提交
    • 删除 token,是否能提交
    • token要在POST请求中或在header中,不能在COOKIS中
  • ajax 的提交,这类提交的CSRF框架可能不能防,需要开发人肉写代码,因此需要特别测试
  • GET 请求一般不应该涉及增删改操作,要求改成POST+referer检查,或者GET请求加 token
  • 如果大面积没有校验token,可能是框架配置问题
  • 框架配置规范,白盒扫描已覆盖

 

5.JSON/JSONP接口

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。如果这种交互的方式用来传递敏感的数据,并且传输的时候没有做太多安全性控制的话将导致安全漏洞,根据敏感信息的不同导致会导致应用遭受不同级别的攻击。通过分析应用里的数据交互,我们经常可以发现敏感信息泄露的情况发生。通常的方式包括,抓取应用的交互,查看里面敏感的数据,如果在传输的时候没有安全控制,就会发现此类漏洞。

测试方法:

 

6.文件操作

需要严格检查文件类型(不是根据后缀名检查,而是根据文件开头字符进行检查)。如无特殊要求,上传文件存储于OSS。

 

  • 文件内容测试

使用存在安全隐患的图片文件(如将图片用notepad打开后,在中间加入一段script脚本)进行校验,若系统未报文件格式异常且允许上传和显示,说明此处未做图片压缩处理,存在图片上传漏洞

 

  • 文件格式测试

文件格式,包括但不仅限于gif,png,word,excle,txt,ext,dll等不同格式的文件后缀修改为允许的文件格式,测试是否可以上传成功

(1)新建一个 test.txt 的空文件,上传成功则可能有漏洞(没做后缀检查)。

(2)新建一个 test.jpg的空文件,上传时拦截请求改成test.txt,上传成功说明 后缀检查只在前端做了。

(3)新建一个 test.jpg的空文件,上传成功,说明对内容没做检查,可能为漏洞。

 

7.短信炸弹

针对给用户发送站内信、邮件、短信的功能点,需要关注,使用测试账号,测试是否存在无限制发送,一般情况下1分钟10条以上便可以认为存在问题。

 

8.url跳转

针对url的参数value为链接的情况。测试用例参考:

 

  • 登录中的urlback,把它替换为www.baidu.com 访问页面,如跳转到百度则存在url跳转漏洞。
  • 替换成javascript:alert(1) 如果可以弹窗也存在漏洞

 

可以替换域名参考http://baidu.com#@evil.comhttp://evil.com? @baidu.com/

参考:https://www.atatech.org/articles/119878

 

9.站外图片链接

可以输入的外部链接或者站外图片,比如可以填写图片的地址,点击图片到外部网站。如果可以跳转,说明存在401钓鱼。


posted @ 2021-04-27 23:20  KingOfHuan  阅读(292)  评论(0)    收藏  举报