首页 > 解决方案 > 如何在 Wordpress 登录 Cookie 中禁用 HTTPOnly 标记

问题描述

再会,

我正在尝试创建一个可以使用存储的 XSS 的 docker 环境。

XSS 发生在评论部分,并将 document.cookie 内容发送给攻击者。不发送登录 cookie。这只有在 cookie 中的 HTTPOnly 标记设置为 false 时才有可能。

这是我的 docker-compose 文件

version: "3.8"
services:
  wordpress:
    image: wordpress:4.1
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: dbuser
      WORDPRESS_DB_PASSWORD: dbpassword 
      WORDPRESS_DB_NAME: exampledb
    links:
        - db:mysql  
    volumes:
      - ./wordpress:/var/www/html
    ports:
      - 8080:80
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: dbuser
      MYSQL_PASSWORD: dbpassword
      MYSQL_RANDOM_ROOT_PASSWORD: '1'         
    ports:
      - 3306:3306  
    volumes:
      - ./db:/var/lib/mysql
volumes:
  wordpress:
  db:

我尝试了以下方法:

在 wp-config.php 中

@ini_set('session.cookie_httponly', false); 
@ini_set('session.cookie_secure', false); 
@ini_set('session.use_only_cookies', false);

在所有出现的情况下修改 wp-login.php 中的 setcookie 函数(将 httponly 参数设置为 false)

setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), false );

没有任何成功。我感谢任何可能的帮助。

标签: phpwordpressdockercookiesxss

解决方案


推荐阅读