如何对安全设备进行代码审计
la0gke 发表于 河南 漏洞分析 831浏览 · 2024-09-11 03:19

应用获取

应用获取分几个途径吧,

  1. 官网申请试用,让公司的运营部门配合。
  2. 从客户那里经过同意后,拷贝一份。
  3. 朋友圈获取

环境搭建

获取到应用程序后,还需要进一步搭建环境。通常获取到的是一个虚拟机形式,直接启动就可以使用。无需过多搭建。

源码获取

提供的虚拟机是一个封闭的环境,阉割掉了很多东西,正常情况下无法直接获取源码。不过还好,是在虚拟机中,可尝试的方法有很多。

尝试的第一种方法,在启动的时候,进入引导编辑模式。在如下页面,按照提示按“e”进入编辑模式

Linux一行(有些系统是linux16开头的行)的末尾加入init=/bin/sh,这条命令意思是在启动系统的时候先启动一个命令行。

之后再按照提示,按Ctrl-x启动。看到root权限的时候,我以为我成功了,已经开始激动了。

由于此时系统还没有真的启动,应用也没有启动,现在要做的是修改root的密码,然后从正常渠道启动的系统里边登录root用户。给root用户修改密码的时候,提示是只读系统,不能修改。

网上找了点资料,说是让读写的模式重新挂载系统盘,之后再进行密码修改。

// 读写模式挂载
mount -o remount,rw /sysroot
// 进入挂载的盘
chroot /sysroot

目录不存在,直接读写的模式挂载根目录。再次尝试修改密码,仍然不行。

会不会是挂载的盘不对?列出系统有哪些盘,没这个命令。

lsblk

修改不了root密码就算了,直接看源码吧,命令行审计代码也就麻烦点。看来是我想简单,没有找到文件?

后来又从网上看到一种救援模式,再次尝试。

添加iso镜像。正常情况厂商是不提供iso镜像的,有了镜像不就等于有了源码?我们可以大致猜测下虚拟机的系统是什么系统,然后找个对应的镜像系统就行。我这里找了个Centos8

选择打开电源进入固件

+号把CD-ROM Drive选项移到最上边。然后按F10保存并重启

重新启动后,依次选择Troubleshooting->Rescue a CentOS system

选择选项1,之后回车。正常情况下,是可以检测出系统盘的,这里没有。这是因为使用的镜像和系统不是一个版本,需要相同版本的才行。

其他人的

不过没关系,接着往下。

现在可以使用lsblk命令了,查看一下分区情况。

接下来就是一个个遍历挂载,然后一个个列文件,一步步找到源码

// 创建挂载点
mkdir /mnt/old
// 挂载盘符
mount /dev/sda1 /mnt/old
// 列文件
ls -al /mnt/old/

最终在sda5找到web代码

php文件,接下来就可以开始愉快的审计了

1 条评论
某人
表情
可输入 255