Skip to main content

代码审计突破边界

在上一篇,我们从黑盒角度讨论了如何利用常见Web漏洞突破边界。不得不承认,白盒测试要比黑盒测试高效的多,有的漏洞甚至可能永远无法被发现除非人们看到源代码。之前说过,企业独自开发的web应用不是开源的, 一般情况下我们是无法访问到源代码的,那怎么才能审计代码?实际上,在一些情况下,我们是有机会得到源代码进行代码审计的,例如:

1:源代码文件source.tar.gz被放在web目录下。这是由于开发者不小心所导致的,但这种情况并非不可能遇到。源代码也可能存在于FTP、SMB服务器上,并且这些服务并且不需要认证的话...

2:目标对一开源app进行了一定的修改,为自己所用。虽然魔改程度有高有低,但原app存在的漏洞不一定被修复了。举个例子,在线学习系统ATutor (https://atutor.github.io/),虽然是开源应用,但是在互联网上广泛运行。更糟糕的是,该应用的漏洞不是一般的多。

3:目标公司发生过源代码泄漏事件。

4:在信息搜集阶段,我们从泄漏库中找到了一些凭证,其中一个或多个凭证可以访问目标公司的github私人仓库,访问到源代码。

 

考虑到这并不是一门专注于web安全的课程,因此这里提供一个思路,至于怎么代码审计不在本课程的范畴内。但对于代码审计,Fotify (https://www.microfocus.com/en-us/cyberres/application-security) 是款优秀的白盒代码审计工具。

image.png