代码审计是在一个编程中对源代码旨在发现错误、安全漏洞或违反编程约定的项目。就是找它这些代码中可能存在问题的地方,然后看它是否真的存在漏洞。

代码审计大致分为三种,白盒、黑盒和灰盒。

白盒:这种测试可以看到源代码,直接从代码中来看哪里可能出现问题,然后进行检测,此时是知道内部结构的,测试相对黑盒测试会比较容易一点

黑盒:只知道网页的大致结构,然后对各个功能开始检测,按自己的思路进行测试,比如看到留言界面,测试XSS,看到登录界面,测试SQL注入等

灰盒:介于白盒测试与黑盒测试之间,自己测试的同时结合代码来看

代码审计可以先从简单的CMS入手。

学习路径的话,可以分两条,一条就是正向的找代码审计的文,跟着去做去学。另一条就是复现漏洞,看漏洞成因,学习代码的分析,由此了解漏洞是如何被发现的。

代码审计脑图

https://upload-images.jianshu.io/upload_images/25142717-c0951ef9b097e432.png

漏洞平台

img

信息收集

子域名收集

网段

扩展域名

whois:注册人、联系邮箱

ip段:确定核心段、边缘段、云服段、目标厂商开发喜欢什么框架

工具漏洞扫描

扫描器容易被ban,可以手动注入自己试。

XSS、SQL注入、CSRF、权限绕过、文件上传、弱口令、代码执行等等。

AWVS 漏洞扫描

macOS上安装docker。访问127.0.0.1:13443

awvs13 username: admin@admin.com
awvs13 password: Admin123

BBscan轻量级扫描器

重点放在路径的扫描,找有没有403、404的站点。

爆破API接口端点、路径。

BBscan 项目地址

https://github.com/lijiejie/BBScan

BBscan 使用教程

https://www.freebuf.com/articles/web/352762.html

手动漏洞排查

burpsuite

利用插件和xray实现自动化漏扫

抓包、改包、重放、密码爆破

入手点

https://cloud.tencent.com/developer/article/2024097

  • 提交的表单(意见反馈、文件上传)
  • 功能点(付款金额校验、修改密码的sign值替换)
  • 数值溢出
  • 接口利用
  • 任意文件上传

提升危害

找到低危后,尝试是否能更进一步提升危害。

练习靶场

漏洞分类👇

靶场练习的时候,同类型的一起练

漏洞类型 分类标签 效果
SQL注入 代码执行 执行部分SQL语句,可能造成命令执行、数据获取、读写文件
XSS 代码执行 有限或无限的Javascript代码执行,可能获取cookie凭证
命令注入 命令执行 直接拼接命令执行系统命令
反序列化 代码执行 有限或无限的执行java代码,或根据gadget的不同执行各类操作,比如读写文件、发起请求等
SSRF 网络请求 有限制或无限制的发起各类请求转发,将部分可控数据通过网络进行转发
加密缺陷 伪造 加解密的问题可以统一归为各类伪造,包括伪造凭证、数据包签名等
任意读 敏感信息获取 读取各类敏感信息
任意写 写文件 写各种文件,通常配合系统机制或者框架机制,任意写文件大概率可以串代码执行或者命令执行
未授权访问 权限校验缺失 权限校验缺失,可以访问各类需要鉴权的接口
内存溢出 代码执行 内存溢出后如果利用成功通常可以造成任意代码执行、改变程序判断条件

RCE的一些组合👇

  1. 未授权访问+命令执行
  2. 未授权访问+反序列化
  3. 未授权访问+任意写+系统机制(PHP的webshell或者Linux的crontab)
  4. 未授权访问+SSRF+本地进程未授权+命令注入
  5. 加密缺陷可构造凭证+后台命令执行功能
  6. 未授权访问+SSRF+内存溢出

OWASP 虚拟机靶场

VMware部署到Windows上用,https://sourceforge.net/projects/owaspbwa/

root owaspbwa 登入就会返回靶场地址,直接可以访问靶场。

DVWA

部署到本机或者服务器上用

docker pull sqreen/dvwa
docker run -d -t -p 8888:80 sqreen/dvwa

sqli-labs

部署到本机或者服务器上用

docker pull acgpiano/sqli-labs
docker run -d -t -p 8888:80 acgpiano/sqli-labs

参考链接

https://www.anquanke.com/post/id/223457

https://www.sqlsec.com/2020/04/awvs.html#%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80

https://paper.seebug.org/1809/

https://cloud.tencent.com/developer/article/2024097

https://xz.aliyun.com/t/11553

评论