• 关于WordPress的简单分析


    WordPress分析

    wordpress系统本身代码,很少出现漏洞,主要是第三方的插件出现太多太多的漏洞

    部分源码解读

    1、 入口文件index.php

    前端入口,基本没有内容。

    1)定义WP_USE_THEMES常量,当该常量定义为false时,站点会显示为空白;为true时则正常显示。
    2)加载wp-blog-header.php文件。

    2、 接下来查看/wp-blog-header.php文件

    加载wp环境和模板

    1)设置$wp_did_header变量,相当于一个flag,确保wp-blog-header.php文件只在第一次被加载时执行。
    2)加载wp-load.php文件。
    3)调用wp()函数。
    4)加载wp-includes/template-loader.php文件

    3、 查看/wp-load.php文件

    启动引导(Bootstrap)文件,用于设置ABSPATH常量和加载wp-config.php文件。wp-config.php将会加载wp-settings.php文件,它将用于建立WP的环境。
    如果找不到wp-config.php文件,则会提示错误信息,要求用户设置wp-config.php文件。
    wp-load.php还会自动搜索WP的上级文件夹寻找wp-config.php文件,因此可以保护WP文件夹不被暴露。
    1)设置ABSPATH常量为到WP文件夹的路径。
    2)设置错误报告模式。
    3)加载wp-config.php文件(a.直接加载、b.从上级文件夹加载、c.找不到则报错,使用wp_die()函数)。

    4、 查看wp-config.php

    WordPress基础配置文件。本文件包含以下配置选项: MySQL设置, 数据库表名前缀,密匙, WordPress语言设定以及ABSPATH。
    1)设置数据库名、用户名、密码、数据库主机、数据库编码、数据库整理类型、数据库表前缀。
    2)设置身份密匙,用于进行cookie加密。
    3)设置WP语言。
    4)设置WordPress目录的绝对路径ABSPATH。
    5)包含wp-settings.php文件。

    5、 查看wp-settings.php
    用于设置和修复公共变量,包括WordPress过程和类库。

    1)存储函数、类和核心内容的WordPress目录和位置
    2)当前WordPress的版本信息、数据库版本、TinyMCE版本、所需PHP版本及MySQL扩展或数据库插件等。
    3)包含许多类库文件,多站点特定文件。

    WordPress 测试方法

    1 扫描

    使用工具:wpscan(Kali 自带)

    [官网][https://wpscan.org]

    针对所有 Wordpress 网站的测试,首先都应该使用 wpscan 进行扫描:

    wpscan --url http://IP/
    

    扫描结果中中重点关注 WordPress 的版本?使用了什么 Plugin ?Plugin 版本是什么?

    然后使用 searchsloit 来查询漏洞。

    常用的命令

    #更新漏洞库
    wpscan --update 
    #扫描指定用户
    wpscan --url http://IP/ --enumerate u
    #爆破
    wpscan --url http://IP/ -e u --wordlist dic_path
    #扫描插件漏洞
    wpscan --url http://IP/ -e u --enumerate vp
    #扫描主题
    wpscan --url http://IP/ -e u --enumerate t
    #列出所有信息
    wpscan --url http://IP/ -e at -e ap -e u
    

    2 暴力破解

    使用工具:Wfuzz(Kali 自带)

    很多 WordPress 的漏洞都需要登录到后台才能利用,这里使用 Wfzuu 工具进行爆破:

    # 按照实际情况调整-hh 参数
    wfuzz -w /usr/share/wordlists/fast* -d "log=admin&pwd=FUZZ&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.1.1.1%2Fwp-admin%2F&testcookie=1"  -c --hh=3358 http://10.1.1.1/wp-login.php
    

    参数解释:

    • -w 指定字典
    • -d POST 的数据
    • -c 带颜色输出
    • --hh 过滤掉响应包长度为3358字节的结果
  • 相关阅读:
    用js实现一个简单的mvvm
    ~~~持续更新,面向对象的编程,个人浅见
    前端直播功能开发总结
    echarts饼图去除鼠标移入高亮
    外包项目的感悟
    white-space:pre-wrap和word-break:break-all;
    转行两年,工作一年年,谈谈浅见
    html2canvas
    js点滴
    常用工具链接
  • 原文地址:https://www.cnblogs.com/thresh/p/13904704.html
Copyright © 2020-2023  润新知