C 静态/动态源代码分析

C 静态/动态源代码分析,c,security,web-applications,C,Security,Web Applications,我学习了一个名为“安全代码”的课程,在下一个作业中,我们将对一些C文件和JavaEEWeb项目进行静态/动态分析 我签出了“源代码监视器”,并在C文件上运行了它,但是(除非我不知道如何使用它!)它似乎没有达到我想要的效果 考虑到这个主题,我很想知道是否有检测“不安全”代码的工具,即通过缓冲区溢出、SQL注入、XSS等潜在攻击的代码。。。因此,我想指出哪些函数应该“升级”(例如,fgets而不是get,或者PreparedStatement而不是普通的SQL语句) 注意:我更喜欢开源软件,可能是针

我学习了一个名为“安全代码”的课程,在下一个作业中,我们将对一些C文件和JavaEEWeb项目进行静态/动态分析

我签出了“源代码监视器”,并在C文件上运行了它,但是(除非我不知道如何使用它!)它似乎没有达到我想要的效果

考虑到这个主题,我很想知道是否有检测“不安全”代码的工具,即通过缓冲区溢出、SQL注入、XSS等潜在攻击的代码。。。因此,我想指出哪些函数应该“升级”(例如,fgets而不是get,或者PreparedStatement而不是普通的SQL语句)

注意:我更喜欢开源软件,可能是针对Windows的(我在虚拟机上安装了Ubuntu,但我并不擅长使用它……我通常花更多的时间来了解如何配置这些工具,而不是运行它们)

谢谢你的提示

对于javaeeweb项目,可以使用持久性API,也可以使用非SQL语句,从理论上讲,黑客攻击是不可能的!最好的开源软件是。它易于使用且非常灵活。

是开源的,用于查找或等安全漏洞


也就是说,你可能会发现,仅仅在学校作业中就很难适应,而且,你真的希望在学校作业中发现安全漏洞吗?

对Rails应用程序是这样的,但有些警告类型相当普遍。谢谢你,我会看一看。也许正确的词是“讲座”,而不是“课堂”,因为它是在大学里。我们已经解决了这些问题,我们必须在这些文件上找到一些漏洞。因此,我想现在的目标是确认我们之前的发现。因此,在Windows上配置它确实是一件痛苦的事情。我花了两个小时试图在GUI上加载一个源文件,但它总是说“Frama-C由于无效的用户输入而中止。查看控制台以获取更多信息(如果有)。”。。。当然,控制台是空的!我也在Linux上尝试过,至少我得到了一个输出,但我不太理解它。这是一系列以警告结尾的“奇怪语句”,类似于“[kernel]警告:函数fprintf没有代码,默认赋值”。有趣的是,代码中最大的缺陷来自gets(它很容易发生缓冲区溢出),但frama-c没有给出任何警告。有什么想法吗?根据我系统上的手册页面,所有的
gets()
调用都应该被认为是不安全的,因此您可以使用命令
grep[^f]gets*.c
。Frama-C的价值分析,您显然能够启动(是的,它很详细,但不是每条消息都是警告),发现缓冲区溢出和其他可利用的C未定义行为。感谢vut,我认为这并不能解决我的问题。我不需要编写任何程序,只需要做测试。