源代码审计思路(上)

本文介绍了源代码审计的方法,特别是针对Java应用的逆向回溯审计,强调了了解业务逻辑、项目结构和类依赖的重要性。在逆向挖掘SQL注入部分,通过搜索SQL关键字定位语句,重点关注动态拼接SQL的情况,同时提到了ORM框架如Hibernate和Mybatis的SQL处理特性,以及如何追溯控制器和逻辑代码以发现潜在的SQL注入漏洞。
摘要由CSDN通过智能技术生成

本博客地址:https://security.blog.csdn.net/article/details/82946120

一、引子

一个Java应用的代码审计工作应该从哪里入手,对于新手来说也许会不知所措,如果在不了解整个应用系统情况下(包括业务功能、框架使用等)盲目的直接去阅读项目中源代码,往往会迷失在代码中导致漏洞误报漏报情况,审计效率同样不高。所以在审计之前要了解应用系统主要业务逻辑,其次是了解项目的结构和项目当中的类依赖。再次才是去根据业务模块去读对应的代码,从功能去关联业务代码往往比逮着段代码就看效率高很多。

二、逆向回溯审计

逆向回溯审计针对于特定漏洞比较有效,因为大多数安全问题是由于函数使用不当造成的,比如命令注入通常会使用Runtime.getRuntime().exec(command)执行外部的程序或者命令,另外比如SQL注入可以直接搜索查看SQL语句是否使用字符串动态拼接。

2.1、逆向挖掘SQL注入

SQL注入理论上是最容易找的,因为SQL语句的特殊性只要利用编译器快捷键搜索select、from 等关键字就能够快速找到项目下所有的SQL语句,然后根据搜索结果基本上都能够确定是否存在SQL注入。

凡是SQL语句中出现了拼SQL(如select * from admin where

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武天旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值