常见的代码审计思路

1)根据敏感关键字回溯参数传递过程
2)查找可控变量,正向追踪变量传递过程
3)寻找敏感功能点,通读功能点代码
4)直接通读全文代码

首先,找出易出现问题的敏感功能,包括但不限于(
文件上传:是否存在任意文件上传?上传shell?一句话木马?是否对文件名进行了过滤?
文件管理:是否存在任意文件操作(具体做法是利用../ || ..\跳转目录)
登录认证:有些基于cookie和session认证的信息如果不加salt加密的话有可能导致任意用户登录,只需要知道部分用户的信息即可生成Auth Token。甚至有些程序会直接把用户名明文放到cookie中,造成常说的越权漏洞。
找回密码:有时候验证码没有限制尝试次数与有效时间,这样就会出现爆破的机会。除此之外还有验证凭证的算法是否可信。
重装漏洞:有时候验证安装之后跳转只是简单的用header进行跳转,并没有exit或die。这样的话用burpsuit可以查看不跳转之后的操作—>也就是重装

在获取不到源码的情况下:黑盒测试
在获取到源码后:白盒测试

常见web漏洞:SQL注入,XSS,CSRF漏洞,文件操作,代码/命令执行,变量覆盖以及逻辑处理

SQL注入:
– 常见于:登录页面、获取HTTP头(user-agent/client-ip)、订单处理等
– 类型:普通注入,盲注,报错注入,二次注入,编码注入(如宽字节注入,二次urlencode注入—当数据传入WebServer时会自动进行一次decode,如果程序里面用了urldecode/rawurldecode的话嘿嘿嘿,就可以用%2527来被解析成梦寐以求的单引号了)

发表评论

电子邮件地址不会被公开。 必填项已用*标注