代码审计函数总结
跟踪用户输入数据和敏感函数参数回溯
跟踪用户的输入数据,判断数据进入的每一个代码逻辑是否有可利用的点,此处的代码逻辑 可以是一个函数,或者是条小小的条件判断语句。
敏感函数参数回溯,根据敏感函数,逆向追踪参数传递的过程。这个方法是最 高效,最常用 的方法。大多数漏洞的产生是因为函数的使用不当导致的,只要找到这些函数,就能够快速 挖掘想要的漏洞。
以下是基于关键词审计技巧总结:
在搜索时要注意是否为整个单词,以及小写敏感这些设置
漏洞名称 | 关键词 | |
---|---|---|
密码硬编码、密码明文存储 | password pass jdbc |
|
XSS | getParamter <%= param |
|
SQL 注入 | Select Dao from delete update insert |
|
任意文件下载 | download fileName filePath write getFile getWriter |
|
任意文件删除 | Delete deleteFile fileName filePath |
|
文件上传 | Upload write fileName filePath |
|
命令注入 | getRuntime exec cmd shell |
|
缓冲区溢出 | strcpy strcat scanf memcpy memmove memeccpyGetc() fgetc() getchar read printf |
|
XML 注入 | DocumentBuilder XMLStreamReader SAXBuilder SAXParser SAXReader XMLReaderSAXSource TransformerFactory SAXTransformerFactory SchemaFactory |
|
反序列化漏洞 | ObjectInputStream.readObject ObjectInputStream.readUnshared XMLDecoder.readObject Yaml.load XStream.fromXML ObjectMapper.readValue JSON.parseObject |
|
url 跳转 | sendRedirect setHeader forward |
|
不安全组件暴露 | activity Broadcast Receiver Content Provider Service inter-filter |
|
日志记录敏感信息 | log log.info logger.info |
|
代码执行 | eval system exec |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment
ValineGitalk