黑客技术中的代码审计是什么?
编码财务审计是什么?
1、介绍
编码财务审计是找到应用缺点的过程。其通常有白盒、黑盒、灰盒等方式。白盒指通过对源码的分析找到应用缺点,黑盒通常不涉及源码,多使用模糊不清检测的方式,而灰盒则是黑白灰融合的方式。
2、常见定义
键入
应用的键入,可以是恳求的主要参数(set、POST等)、发送的文件、网络、数据库查询等用户可控性或者简接可控性的地方。
处理函数
处理数据的涵数,可能是过虑,也可能是编解码。
风险涵数
又常称为Sink Call、系统漏洞点,是可能开启不安全行为如文件操作、指令实行、数据库查询操作等行为的涵数。
3、自动化技术财务审计
一般认为一个系统漏洞的开启过程是以键入经过过虑到风险涵数的过程,而财务审计就是找寻这个传动链条的过程。
风险涵数配对
白盒财务审计最常见的方式是通过寻找风险涵数与风险主要参数定位系统漏洞,比较有象征性的工具是Seay开发设计的财务审计工具。这种方法误报率相当高,这由于这种方法没有对程序的流程进行详细分析,与此同时,这种方式通常是孤立无援地分析每一个文件,忽视了文件之间复杂的启用关系。
具体的说,这种方式在一些环境下会做到基本上准确无误报,只要财务审计者有细心,可以发现绝大多数的系统漏洞,但是在高宽比架构化的编码中,能找到的系统漏洞相对有限。
控制流分析
在之后的系统中,充分考虑一定程度导入AST作为分析的根据,在一定程度上降低了误报,但是仍存在很多缺点。
然后,Dahse J等人设计了RIPS,该工具进行数据流与控制流分析,融合过程内与过程间的分析得到财务审计结果,相对风险涵数配对的方式而言误报率少了很多,但是同样的也增加了花销。
灰盒分析
国内安全研究员fate0明确提出了应用场景运作时的分析方式,解决了控制流分析实现复杂、计算相对路径花销大的问题。
4、手工制作财务审计方式
取得编码,确定版本号,确定可否正常运作
找历史系统漏洞
找应用该系统的案例
简单财务审计,运作财务审计工具看是否有系统漏洞
大概看懂整个程序是如何运作的
文件如何载入
类库依靠
有没有载入waf
数据库查询如何联接
mysql/mysqli/pdo
有没有用预编译
视图如何形成
能否xss
能否模板引入
SESSION如何处理
文件
数据库查询
运行内存
Cache如何处理
文件cache可能写shell
数据库查询cache可能引入
memcache
看帐户管理体系
管理员账户的登陆密码
加密方式
泄露数据后能否工程爆破登陆密码
重设系统漏洞
更改密码系统漏洞
改动别人登陆密码
用户的账号
可否取得用户管理权限
用户账号可否盗号
重点找没有账号的情况下可以浏览的页面
是否OAuth
进攻
SQLi
看全局变量过虑可否bypass
看是否有直接实行sql的地方
看是用的什么驱动器,mysql/mysqli/pdo
如果使用PDO,看是不是直接实行的地方
XSS
全局变量bypass
直接echo
看视图是怎么载入的
FILE
网页上传遮盖删掉
包括
LFI
RFI
全局变量找include, require
正常发送
看发送是如何确定可否文件上传的
RCE
打_user_func
eval
assert
preg_replace /e
XXE
CSRF
SSRF
反序列化
自变量遮盖
extract
parse_str
array_map
LDAP
XPath
Cookie仿冒
过虑
找WAF
看waf怎么过虑的,相应的如何绕开
相关文章
- 1条评论
- 冢渊酒颂2022-05-29 02:23:29
- 编码财务审计是什么?1、介绍编码财务审计是找到应用缺点的过程。其通常有白盒、黑盒、灰盒等方式。白盒指通过对源码的分析找到应用缺点,黑盒通常不涉及源码,多使用模糊不清检测的方式,而灰盒则是黑白灰融合的方式。2、常见定义键入应用的键入,