安全测试内容

1、前端数据内容抓取
   a、指定内容的抓取
        对于关键内容比如userid, 投资金额等的数据进行修改
   b、隐藏字段内容的抓取
        对于页面type='hidden'的组件,尝试下是否可以进行修改及修改后的效果。
        比如新手标的redmoney_id就是在页面里隐藏着,发现规律的话,可以将普通标买成新手标。
        http cookie 也可以认为是一个隐藏的字段
        尝试修改cookie
2、前端相关参数的修改
   a、URL参数,主要针对是get请求的变量
   b、referer, referer消息头可以准确的判断某个特殊的请求来自哪个url。所有正常的请求都来自已知的且是我们自己系统的url
         将feferer修改后,看看效果
   c、模糊数据
         对于某些加密数据,可以尝试去进行解密
         即使无法解密,我们也可以将一个更加便宜的商品加密价格 修改到一个贵的商品的加密价格上
 3、安全处理客户端数据
   a、减少客户端向服务器传输的数据,比如某个产品的价格,只要将购买产品的相关其他属性传给服务器,后台服务主动去查一下产品的价格即可。
         减少数据传输从业务上来决定 
   b、如果确实需要进行传输数据,对必要的数据一定要进行加密。
攻击验证机制
1、验证技术
   a、基于HTML表单的验证
   b、多元机制,组合型密码和物理令牌
   c、客户端ssl证书或智能卡
   d、http基本和摘要验证
2、问题
   a、密码保密性不强
      空白,太短的密码,常用密码,密码和用户名一致,密码尝试无限制等
   b、记住我功能
      确认记住我功能是只记住用户名? 还是记住用户名和密码?如果是第一种,还比较安全
      如果是记住用户名和密码,则可以查看cookie在记住和不记住之间的区别
   c、找回密码,修改密码等功能一般存在的都是逻辑漏洞
攻击数据存储区

SQL注入:

username= ' or 1=1

select * from user_main where username = '' or 1=1

username= ' or 1=1 --

select * from user_main where username= '' or 1=1 --

现在web应用系统的程序安全意识很强,所以sql注入漏洞也越来越少

对于update

update users set password='newsecret' where user='marcus' and password = 'secret'

user= admin'  --

字符串渗透测试步骤:

1、提交一个单引号作为查询目标,查看是否有错误

2、如果有错误或异常,提交两个单引号,看什么情况。

数字注入:

1、如果原始值为2, 尝试提交 1+1 或者3-1

2、可以使用 67- ASCII('A') 来表示 2

最简单直接的方式,可以使用sqlmap对网站进行sql注入检测

http://www.freebuf.com/articles/web/29942.html

sql 注入的防御措施

1、对于输入内容的过滤

2、参数化查询,避免sql的拼接

3、深层防御,访问数据库时,应用程序尽可能使用最低权限的账户

   尽可能将数据库一些默认的功能关闭

   尽可能及时对数据库本身的漏洞安装安全补丁

注入nosql :

接口的安全测试:

1. 请求合法性校验,考虑采用token方式保证接口不被其他人访问。

 2. 数据校验,白名单方式验证数据确保不出现异常数据和注入攻击。

 3. 数据加密,对数据进行加密保证其他人无法非法监听或截取。

 4. 错误处理,对系统返回结果编制返回码,避免堆栈信息泄露。

 5. 接口阈值,对接口访问频率设置阈值,超出设定的访问频率时返回错误码。

测试后端组件

1、注入操作系统命令

2、OS命令注入漏洞

3、路径遍历漏洞

4、防止脚本注入漏洞

http://www.cnblogs.com/qmfsun/p/3724406.html

安卓:

http://bbs.pediy.com/showthread.php?t=163215

IOS:

http://bbs.pediy.com/showthread.php?t=163216

原文地址:https://www.cnblogs.com/yingchen/p/6242645.html