美文网首页开发类
🎐代码审计

🎐代码审计

作者: 卿酌南烛_b805 | 来源:发表于2020-08-17 17:52 被阅读0次

🎃源代码审计分为白盒、黑盒、灰盒

白盒:拥有源代码进行审计

黑盒:不知道源代码的情况下进行渗透审计

灰盒:介于黑盒与白盒之间

🧨审计方法总结

主要代码审计方法是跟踪用户输入数据和敏感函数参数回溯:

跟踪用户的输入数据,判断数据进入的每一个代码逻辑是否有可利用的点,此处的代码逻辑

可以是一个函数,或者是条小小的条件判断语句。

敏感函数参数回溯,根据敏感函数,逆向追踪参数传递的过程。这个方法是最高效,最常用

的方法。大多数漏洞的产生是因为函数的使用不当导致的,只要找到这些函数,就能够快速挖掘想要的漏洞。


🧨代码安全测试方法

代码审核采用人工审核和静态分析工具辅助的方式进行。

  人工审核:既能解决内部问题也能解决外部问题。这也是目前最有效率的解决方案,并且在理论上手工代码审核是非常有效的,但人工审核的效率不高,所以我们会采用自动化分析工具辅助人工的方式来提高审核效率。

   静态分析工具:通过一组全面规则、测试机制和方针在软件开发过程、测试中发现软件的安全缺陷。

1,fortify

2,seay源代码审计 


🧶人工代码审计的通用思路

1、通读全文代码,从功能函数代码开始阅读,例如include文件夹下的common_fun.php,或者有类似关键字的文件。

2、看配置文件,带有config关键字的文件,找到mysql.class.php文件的connect()函数,查看在数据库连接时是否出现漏洞。

3、继续跟读首页文件index.php,了解程序运作时调用了哪些函数和文件以index.php文件作为标线,一层一层去扩展阅读所包含的文件,了解其功能,之后进入其功能文件夹的首页文件,进行扩展阅读。 


🧵漏洞产生的原因

1、变量控制不严(一切输入都是有害)。

2、变量到达有利用价值的函数(一切进入函数的变量是有害的),漏洞的利用效果取决于最终函数的功能。


以下是基于关键词审计技巧总结:

在搜索时要注意是否为整个单词,以及小写敏感这些设置

php审计

命令执行漏洞

system()、exec()、shell_exec()、passthru()、pcntl_exec()、popen()、proc_open()

代码执行漏洞

eval()、assert()、preg_replace()、call_user_func()、call_user_func_array()、array_map()

xss:常用的输出函数列表如下:

print、print_r、echo、printf、sprintf、die、var_dump、var_export,

文件读取函数列表如下:

file_get_contents()、highlight_file()、fopen()、readfile()、fread()、fgetss()、fgets()、parse_ini_file()、show_source()、file()

sql注入关键字:

select、insert、update、$_GET、$_POST、$_REQUEST、

上传漏洞关键字:

$_FILES 、move_uploaded_file

执行漏洞关键字:

 shell_exec、exec、passthru

system、popen

包含漏洞关键字:

include、include_once、require、require_once

变量覆盖关键字: $$

跨站漏洞关键字:

echo、print、print_r、var_dump、var_exprot,insert


java审计

密码硬编码、密码明文存储:

password 、pass、jdbc

XSS:

getParamter、<%=、param.

任意文件下载:

download 、fileName 、filePath、write、getFile、getWriter

任意文件删除:

Delete、deleteFile、fileName 、filePath

文件上传:

Upload、write、fileName 、filePath

命令注入:

getRuntime、exec、cmd、shell

缓冲区溢出:

strcpy,strcat,scanf,memcpy,memmove,memeccpy, Getc(),fgetc(),getchar;read,printf

XML 注入:

DocumentBuilder、XMLStreamReader、SAXBuilder、SAXParser

 SAXReader 、XMLReader

 SAXSource 、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


工具局限性:

工具本身存在一定量的误报或者漏报。

扫描结果需要大量人工确定甄别。

如用多种语言开发的软件,则需单独分析。

使用工具缺乏规范化的编码规范。

不能自动收集常见的代码安全问题。      

相关文章

  • 【代码审计】PHP代码审计

    1. 概述 代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应用程序在开发阶段存在的一...

  • 代码审计

    代码审计工具 1、三款自动化代码审计工具教程2、seay源代码审计系统 PHP核心配置详解 注意PHP各个版本中配...

  • 🎐代码审计

    ?源代码审计分为白盒、黑盒、灰盒 白盒:拥有源代码进行审计黑盒:不知道源代码的情况下进行渗透审计灰盒:介于黑盒与白...

  • 2021-12-06-java代码审计初步认知

    一、代码审计的定义代码审计是一种以发现安全漏洞,程序错误和程序违规为目标的源代码分析技能。 二、代码审计需要的能力...

  • 代码审计初尝

    @(代码审计学习笔记) [TOC] 代码审计初尝 [图片上传失败...(image-f76662-15823837...

  • 代码审计思路之PHP代码审计

    00×0 前言 最近也是边挖src边审计代码,总结下最近的php代码审计的一些思路,我一般按照顺序往下做,限于能力...

  • 代码审计从入门到放弃(三) & phplimit

    前言 接着前面的代码审计从入门到放弃(一) & function、代码审计从入门到放弃(二) & pcrewaf ...

  • [代码审计] XIAO CMS审计

    XIAO CMS审计 翻安全客的时候看到xiao cms爆了6个cve审计一下 任意目录删除 上传任意文件 很明显...

  • 攻防世界(进阶)--WEB--8.Web_php_unseria

    考察点:php代码审计 1.进入场景,得到php代码 2.化简代码,审计 3.写脚本 得到参数:TzorNDoiR...

  • PHP相关

    比较好的一些帖子: 【代码审计】PHP代码审计:http://www.jianshu.com/p/eaaebd36...

网友评论

    本文标题:🎐代码审计

    本文链接:https://www.haomeiwen.com/subject/wkjqjktx.html