一、说明

Source Insight是什么:Source Insight是一款代码编缉、浏览、分析工具。

Source Insight与文本编缉器有什么区别:Notepad++等文本编缉器也可以编缉、浏览代码,但分析能力就比较弱;如跳转函数定义处、跳转函数调用处等都无能为力。

Source Insight与集成开发环境有什么区别:IDE除了代码编缉、浏览、分析外还能编译、调试、运行;Source Insight还能存在主要是在分析方面做得更好:一是多了一个调用函数上下文窗口、二是项目全局查找功能比较好、三是前进后退比较好。

总而言之,一方面Source Insight是代码分析较好的工具。另一方面也不用太极端凡代码风析必Source Insight,你想用IDE想用Notepad都是可以的。

另外,我们这里一直说代码分析而不说代审计,是因为Source Insight和Wireshark一样并不只是为安全人员设计的,一般的程序员也会用。分析侧重于弄懂整个代码流程,审计侧重于在理解代码基础上找出漏洞。

二、安装

Source Insight是收费软件而我们喜欢使用学习版,加上安装也就是双击安装就可以了,就不多说了。

可参考链接:http://www.zdfans.com/html/18590.html

三、使用

3.1 创建项目

启动Source Insight界面如下图,依次点击Project----New Project创建项目

New project name----这里的project name是Source Insight中起的项目名,而不是待审计的项目的项目名,也就是说不管后边要审计什么项目这里想起什么名字都可以。但为了方便起见还是建议填的项目名与后续要审计的项目名一致。比如我这里后续要审计一个叫BankSystem的项目,这里的New project name也就填BankSystem。

Where do you want to store the project data files?----这个目录是用于存放记录代码审计过程中的操作步骤、配置的文件,而不是待审计项目、代码的位置,这点要搞清楚。

Project Source Directory----这里选择待审计项目的目录,下一步会从这里向项目导入代码文件(这里只是导入位置而不是真把代码复制一份进去)。

选择要添加的文件,最简单的直接点击“Add Tree”

3.2 代码审计

项目创建完成后界面如下。

右侧窗口----导入的待审查文件展现在该位置,双击即可查看文件内容。还有另外以目录形式展现等形式,自己实践时多在那点几下就懂了。

中间窗口----在左侧窗口双击文件后文件内容的展示窗口。该窗口是Source Insight的主窗口。

左侧窗口----展示当前在中间窗口打开的文件导入的库、存在的类、类的属性及方法。

底部窗口----展示当前光标指向的属性、方法的定义处的上下文。

在“代码审计思路”一文中我们说,代码审计有正向跟踪数据流和逆向追踪数据流两个思路,前者要搜索输入函数看数据是否流向漏洞签名函数,后者搜索漏洞签名函数看数据是否源于输入函数。

不管哪种思路首先需要的都是函数搜索。我们以全局搜索sql语句执行函数executeUpdate为例。

使用“Crtl+F”打开查找对话框

如果直接点击Search只会在当前主窗口打开的文件内搜索,项目全局搜索我们需要点击“Files”,勾选“Project Wide”再点击Search。

当然也可以通过主菜单----Search----Search Project唤出与下图类似的查找对话框。

查找完成后,即会出现如下图的搜索结果窗口,其中列出了当前审计项目中所有使用executeUpdate方法的位置。

点击各位置前方的红色按钮即可跳转到该位置的具体代码,使用左上角的前进后退按钮可将主窗口切换到自己前一步或后一步主窗口展示的窗口。

Source Insight 4.0安装使用教程的更多相关文章

  1. Source Insight 4.0安装后首次打开报错Unable to open or create

    错误提示大概如下: Unable to open or create ....我的文档/source insght4.0/xxx.sidb. 这个错误提示就是找不到这个文件,原因是应为有中文路径,那么 ...

  2. [转]三步完成Source Insight 4.0 破解安装

    下载地址有更新,之前有朋友因潜在的版权问题封禁没下到,现在更新后可正常使用了. 文末有完全清除上次安装残留的方法,需要的人可以参考. —— 更新于 2018.1.21 第一步:安装    安装sour ...

  3. source insight 4.0.86.0安装破解问题

    source insight 4.0.86.0安装过程中碰到导入lic文件一直不正确 解决办法: 需要将SourceInsight\SW_Install\SI4安装及破解文件 目录下的sourcein ...

  4. 三步完成Source Insight 4.0 破解安装(转)

    转自:https://blog.csdn.net/biubiuibiu/article/details/78044232 三步完成Source Insight 4.0 破解安装   下载地址有更新,之 ...

  5. source insight 4.0.086破解

     source insight 4.0.093 破解: 1. 安装原版软件:Source Insight Version 4.0.0093 - March 20, 2018 2. 替换原主程序:sou ...

  6. Source Insight 4.0 破解和使用

    参考出处: https://blog.csdn.net/u011604775/article/details/81698062 https://blog.csdn.net/user11223344ab ...

  7. source insight 4.0的基本使用方法(转)

    源:source insight 4.0的基本使用方法 source insight 4设置

  8. source insight 4.0常见问题及相关配置

    摘自:https://blog.csdn.net/liitdar/article/details/79891795     本文介绍source insight 4.0常见的问题以及相关的配置. 1. ...

  9. Source Insight 4.0配置格式化工具AStyle.exe

    Source Insight 4.0配置格式化工具AStyle.exe 摘自:https://blog.csdn.net/u012156133/article/details/81566871 1. ...

随机推荐

  1. liunx驱动----点亮LED

    自动挂接根文件系统(直接从NFS启动) 修改uboot命令行 把 bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 ...

  2. C++ this指针的详解

    C++中this指针的用法详解   转自:http://blog.chinaunix.net/uid-21411227-id-1826942.html 1. this指针的用处: 一个对象的this指 ...

  3. django进阶开发(一)--session

    基于cookie做用户验证时:敏感信息不适合放在cookie中 session依赖cookie session原理 cookie是保存在用户浏览器端的键值对 session是保存在服务器端的键值对 s ...

  4. SpringBoot 项目打包分开lib,配置和资源文件

    原文地址:https://blog.csdn.net/u012811805/article/details/80878848 1 jar启动分离依赖lib和配置 先前发布boot项目的时候,改动一点东 ...

  5. 解决ping不通win7主机

    之前在路由器上ping笔记本发现ping不通,但是笔记本ping路由器通,也没多想.今天想起来可能是win7的防火墙作怪,以前上课虚拟机好像也是ping不通宿主机,但是宿主机能ping通虚拟机. 简单 ...

  6. Java并发编程的艺术读后总结

    2019.04.26 - 2019.04.28扫了一遍 Chapter volatile synchronized实现原理 Java内存模型 happen-before 重排序 顺序一致性 JMM 线 ...

  7. linux中查找(find、locate、which、whereis、grep)命令汇总、帮助命令(man、whatis、apropos、info、help)汇总

    (一)find命令详解 find:功能:文件搜索: 语法:find[搜索范围][匹配条件]:  只要匹配条件完全符合才可以被显示,使用通配符*匹配条件*则可以显示匹配条件的所有目录,问号?匹配单个字符 ...

  8. Linux常用命令——文本编辑器Vim

    Linux常用命令--文本编辑器Vim Linux  Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...

  9. vim中文乱码问题

    问题如下: 修改 /etc/vimrc 文件 添加: ,ucs-bom,gb18030,gbk,gb2312,cp936 把/etc/vimrc复制到你自己的根目录下面:复制为.vimrc(前面有个点 ...

  10. async/await 的使用

    async : 使用 async 修饰符可将方法.lambda 表达式或匿名方法指定为异步. 如果对方法或表达式使用此修饰符,则其称为异步方法 await: await 运算符应用于异步方法中的任务, ...