安全测试学习笔记 1. 盲注:and 1=1 and 1=2 2. 数据库普通用户不要给操作系统文件的权限。 3. 使用escape处理,使用mysql_real_eacape_string()h会转义: , ” \r \n NULL control-Z 4. 注入时不需要使用空格的例子: Select/**/password/**/from/**/user; Select(password)from(user); 5. 注入时不需要括号、引号的例子: Select password from users where user=0x72323D334B 6. 防御措施: 防御SQL注入的最佳方式,就是使用预编译语句,绑定变量。 使用存储过程(但存储过程如果有动态sql的话,也可能会有sql注入风险) 检查数据类型(比如检查类型为整型) 使用编码函数 最小化原则,注意控制连接数据库用户的权限。 7. 绕过文件上传检查功能 比如系统只允许上传JPG图片,那么可以构造文件名(需要修改POST包)为xxx.php[\0].jpg,其中[\0]为十六进制的0x00字符,.jpg绕过了应用的上传文件类型判断;但对于服务器端来说,此文件因为0x00字符截断的关系,最终却会变成xxx.php 8. IIS漏洞 Put move方法。 9. 利用上传文件钓鱼 利用上传图片,图片中含有html代码,含有钓鱼链接。 10. Session问题。 Session放在哪?cookie或url传参。放在cookie中需采取加密措施。SessionID需要保证足够的随机性。 放在cookie中容易造成cookie劫持。 登录完成后需要重写sessionID。 SessionID需要设置失效时间。 本文来源:https://www.wddqw.com/doc/2c0fa3997c1cfad6185fa753.html