是的,是的,RIPS 是一个很好的工具,可以同时做到这两个方面。
您可以使用它来检查WordPress主题和插件或任何其他WordPress主题和插件的质量。
RIPS是一种静态代码分析工具,用于自动检测PHP应用程序中的漏洞。通过对所有源代码文件进行标记和解析,RIPS能够将PHP源代码转换为程序模型,并检测程序流期间可能受到用户输入(受恶意用户影响)污染的敏感接收器(潜在易受攻击的函数)。除了发现的漏洞的结构化输出之外,RIPS还提供了一个集成的代码审计框架,用于进一步的手动分析。
下面是它的工作原理。
文件操作
这种用法并不明智,RIPS将检测可能的流
$h = fopen( $_GET[\'file\'], \'w\' );
fwrite( $h, $_GET[\'data\'] );
您不能信任来自请求的数据。
文件泄漏
当您编写这样的代码时,RIPS会指出这是错误的样式:
echo file_get_contents( \'files/\' . $_GET[\'file\'] );
您不能信任来自请求的数据。类似于
include:
include( \'includes/\' . $_GET[\'file\'] );
RIPS了解您的WordPress主题或插件可能具有的XSS流,并会就此向您发出警告。
echo ( \'Hello \' . $_GET[\'name\'] );
当有人创建这样的请求时:
/url?name=<script>alert(1)</script>
您需要对请求数据进行编码,因为在这种情况下,如果请求数据是原始的,您就不能信任它。
header( \'Location: \' . $_GET[\'url\'] );
因为PHP允许您使用
header()
您无法信任该请求,因为有人可能会添加
Set-Cookie:
或内部类似。RIPS会帮你检查这个。
如OWASP中所述,可以通过以下方式强制会话
setcookie()
setcookie( \'PHPSESSID\', $_GET[\'sessid\'] );
就像在这里
/url?sessid=1f3870be274f6c49b3e31a0c6728957f\'
好消息是RIPS可以理解这一点,并会更新您的信息。
eval( \'\\$color = \\\' . $_GET[\'color\'] . \'\\\';\' );
您不应该信任请求数据。
\'poc\' => \'/index.php?color=\\\';phpinfo();//\',
或者对它的一个修改叫做
reflection injectioncall_user_func( $_GET[\'func\'] );
就像在这里:
/url?func=phpinfo\'
类似于
exec()
exec( \'./crypto -mode \' . $_GET[\'mode\'] );
RIPS会让您知道这些可能的问题。
任何听说过WordPress安全的人都听说过SQL注入概念。
mysql_query( \'SELECT * FROM users WHERE id = \' . $_GET[\'id\'] );
如果我们添加
/url?id=1 OR 1=1-- -\',
撕裂会让你觉得自己像这里的老安全极客。
有更多的安全检查RIPS 我在这里没有提到你能做什么。Download 然后开始检查WordPress主题和插件。