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: