fiddler搞网上赌博-Openwrt漏洞挖掘之不能用小米路由悄悄下小电影哦
文中是根据小米路由做为实例,解读怎样挖掘openwrt的漏洞,而且根据一个小米路由的0day做为案例,让大伙儿更非常容易了解检测的方式。
1 获取固件内容
更先肯定是将固件中系统文件的内容获取出去,随后对其开展剖析,也可以是剖析其固件中应用软件是不是存有漏洞,如Uhttpd等服务项目,也可以剖析其web程序流程是不是存有漏洞 如openwrt,
黑客技术联系 *** 因为自己对二进制并不了解,因此 本次的内容便是对于openwrt luci的。
1.1 固件解压工具
根据实行Binwalk能够发觉存有以下内容:
root@kali:~/miwifi# binwalk brcm4709_r2d_all_79e11_2.8.19.bin DECIMAL HEXADECIMAL DESCRIPTION----------------------------------------黑客技术联系 *** ----------------------------------------672 0x2A0 LZMA compressed data, properties: 0x5D, dictionary size: 65536 bytes, uncompressed size: 90046464 bytes30048716 0x1CA81CC TRX firmware header, little endian, 黑客技术联系 *** image size: 3047424 bytes, CRC32: 0xA85FDFF0, flags: 0x0, version: 1, header size: 28 bytes, loader offset: 0x1C, linux kernel offset: 0x0, rootfs offset: 0x030048744 0x1CA81E8 LZMA compressed data, properties: 0x5D, dictionary size: 黑客技术联系 *** 65536 bytes, uncompressed size: 5902752 bytes
根据再加上-e主要参数对其开展缓解压力,缓解压力以后可能获得一个文件目录,进来查询以后内容以下:
root@kali:~/miwifi# cd _brcm4709_r2d_all_79e11_2.8.19.bin.extracted/root@kali:~/miwifi/_brcm4709_r2d_all_79e11_2.8.19.bin.extracted# ls1CA8黑客技术联系 *** 1E8 1CA81E8.7z 2A0 2A0.7zroot@kali:~/miwifi/_brcm4709_r2d_all_79e11_2.8.19.bin.extracted# file 2A02A0: UBI image, version 1root@kali:~/miwifi/_brcm4709_r2d_all_79e11_2.8.19.bin.extracted# file 1CA81E81CA81E8: dataroot@kali:~/miwifi/_brcm4黑客技术联系 *** 709_r2d_all_79e11_2.8.19.bin.extracted#
1.2 获取系统文件
与别的不一样的是,miwifi应用的是UBI的系统文件,这一系统文件初始化起來较为不便,在试着了一次次以后发觉一个自动化技术就能初始化的脚本 ***
https://github.com/jrspruitt/ubi_reader
安裝 *** :
$ sudo apt-get install 黑客技术联系 *** liblzo2-dev$ sudo apt-get install python-lzo$ git clone https://github.com/jd-boyd/python-lzo.git$ cd python-lzo$ python setup.py install
根据实行
ubireader_extract_images 2A0
能够获得以下結果
root@kali:~/miwifi/_brcm4709_r2d_all_黑客技术联系 *** 79e11_2.8.19.bin.extracted# ubireader_extract_images 2A0root@kali:~/miwifi/_brcm4709_r2d_all_79e11_2.8.19.bin.extracted# ls1CA81E8 1CA81E8.7z 2A0 2A0.7z *ubifs-root*root@kali:~/miwifi/_brcm4709_r2d_all_79e11_2.8.19.bin.extracted# 黑客技术联系 *** root@kali:~/miwifi/_brcm4709_r2d_all_79e11_2.8.19.bin.extracted/ubifs-root/2A0# ubireader_extract_files img-1883837156_vol-system.ubifs Extracting files to: ubifs-root
可能形成一个全名是 ubifs-root 的文件夹名称里边还储放这一个文档,这一文档便是ubi镜像系统的最后文档,在根据ubireader_extract_黑客技术联系 *** files对其开展获取就可以,最终形成的文件夹名称,在其中就储放的该固件的系统文件。
2 Openwrt的简易详细介绍
OpenWrt 能够被叙述为一个内嵌式的 Linux 发行版,(流行无线路由器固件有 dd-wrt,tomato,openwrt三类)而不是尝试创建一个单一的、静态数据的系统软件。OpenWrt的包管理 *** 出示了一个彻底应写的系统文件,从应用软件经销商出示的挑选和配备,并容许您自定的机器设备,以融入一切应用软件。
针对开发者,OpenWrt 黑客技术联系 *** 是应用架构来搭建应用软件,而不用创建一个详细的固件来适用;针对客户而言,这代表着其有着彻底订制的工作能力,可以用史无前例的 *** 应用该机器设备。
之上内容来源于百科
Openwrt是一个适用用Lua开展开发设计内嵌式的linux路由器系统软件,详尽的内容就不多说了,就简易说一下,基础在openwrt全是应用lua开展开发设计的,在其中lua的文件目录构造大约以下
全部的lua控制模块和web启用的lua程序流程都会这一文件目录黑客技术联系 *** 下边:
/usr/lib/lua//u *** /lib/lua/luci #这儿储放的便是luci也就是openwrt web浏览需要的内容。
openwrt在开发设计的情况下 大部分是MVC方式,既 Model,View,Controller,因此 各位看下面的图就可以一目了然
Controller文件目录中储放的便是全部走web浏览的通道文档,Model里放的便是一些所必须的控制模块,View便是html模版。
3 找寻漏洞
找寻漏洞的之一步当然是找寻一些高危的漏洞,更先必须的便是搜索出不用登陆就可以启用的控制模块,更先大家看来一个Contraller怎么写的 黑客技术联系 ***
文档部位:/u *** /lib/lua/luci/controller/diagnosis/index.lua
module("luci.controller.diagnosis.index", package.seeall)function index() local root = node() if not root.target then root.target = 黑客技术联系 *** alias("diagnosis") root.index = true end local page = node("diagnosis") page.target = firstchild() page.title = _("") page.order = 110 page.sysauth = "admin" page.mediaurlbase 黑客技术联系 *** = "/xiaoqiang/diagnosis" page.sysauth_authenticator = "htmlauth" page.index = true entry({"diagnosis"}, template("diagnosis/home"), _("主页"), 1, 0x09) 黑客技术联系 *** entry({"diagnosis", "wanerr"}, call("action_wanerr"), _(""), 2, 0x09) entry({"diagnosis", "errindex"}, call("action_errindex"), _(""), 3, 0x09)end function action_wanerr() 黑客技术联系 *** local result ={}result["code"]= 0 result["data"]={["a"]= _("抱歉,小米路由器出現数据连接难题没法打开网站"),["b"]= _("1、请查验 *** 线是不是恰当连接路由器WAN口边"),["c"]黑客技术联系 *** = _("2、请查验 *** 线是不是毁坏"),["d"]= _("3、请查验无线路由器WAN口是不是毁坏"),["e"]= _("小米路由器服务支持") }luci.http.write_json(result)end function action_errindex() local result ={}result[黑客技术联系 *** "code"]= 0 result["data"]={["a"]= _("抱歉,小米路由器出現数据连接难题没法打开网站"),["b"]= _("马上开展 *** 诊断"),["c"]= _("小米手机 路由器技术支持") } *** 黑客联系方式 luci.http.write_json(result)end
其中最为关键的一个内容便是
entry({"diagnosis", "wanerr"}, call("action_wanerr"), _(""), 2, 0x09)
这一段的意思就是,我通过访问
http://127.0.0.1/cgi-bin/luci/diagnosis/index/wanerr *** 黑客联系方式
就可以调用action_wanerr 函数,然后0x09就是一个权限标志位,经过多次摸索发现0x9,0x01,0x0d的标志位是不需要登录就可以访问的。
那我们就先查找出所有0x09,0x08,0x0d标志位的文件,如下
api/misystem.lua:33: entry({"api", "misystem", "topo_graph"}, *** 黑客联系方式 call("getTopoGraph"), (""), 114, 0x0d)api/xqsystem.lua:61: entry({"api", "xqsystem", "upgrade_status"}, call("upgradeStatus"), (""), 148, 0x0d)api/xqsystem.lua:73 *** 黑客联系方式: entry({"api", "xqsystem", "cancel"}, call("cancelUpgrade"), (""), 160, 0x0d)api/xqsystem.lua:123: entry({"api", "xqsystem", "flash_permission"}, *** 黑客联系方式 call("flashPermission"), (""), 200, 0x0d)web/index.lua:74: entry({"web", "upgrading"}, template("web/syslock"), _("路由升级"), 101, 0x0d)web/index.lua:81: entry({"web", *** 黑客联系方式 "topo"}, template("web/topograph"), _(""), 130, 0x0d)api/xqnetwork.lua:90: entry({"api", "xqnetwork", "wan_link"}, call("getWanLinkStatus"), (""), 265, 0x09)api/xqnetwork.lua:104: *** 黑客联系方式 entry({"api", "xqnetwork", "pppoe_catch"}, call("pppoeCatch"), (""), 264, 0x09)api/misystem.lua:91: entry({"api", "misystem", "lsu *** "}, *** 黑客联系方式 call("lsu *** "), (""), 150, 0x09)api/misystem.lua:97: entry({"api", "misystem", "r_ip_conflict"}, call("rIpConflict"), (""), 155, 0x09)api/misystem.lua:99: *** 黑客联系方式 entry({"api", "misystem", "tb_info"}, call("toolbarInfo"), (""), 156, 0x09)api/xqsystem.lua:13: entry({"api", "xqsystem", "init_info"}, *** 黑客联系方式 call("getInitInfo"), (""), 101, 0x09)api/xqsystem.lua:14: entry({"api", "xqsystem", "fac_info"}, call("getFacInfo"), (""), 101, 0x09)api/xqsystem.lua:133: *** 黑客联系方式 entry({"api", "xqsystem", "set_payment_info"}, call("setPaymentInfo"), (""), 207, 0x09)api/xqsystem.lua:134: entry({"api", "xqsystem", "sign_order"}, call("signOrder"), *** 黑客联系方式 (""), 208, 0x09)diagnosis/index.lua:16: entry({"diagnosis"}, template("diagnosis/home"), _("首页"), 1, 0x09)diagnosis/index.lua:18: entry({"diagnosis", "wanerr"}, *** 黑客联系方式 call("action_wanerr"), _(""), 2, 0x09)diagnosis/index.lua:19: entry({"diagnosis", "errindex"}, call("action_errindex"), _(""), 3, 0x09)dispatch/index.lua:17: entry({"dispatch"}, *** 黑客联系方式 template("index"), _("跳转"), 1, 0x09)web/index.lua:26: entry({"web", "logout"}, call("action_logout"), 11, 0x09)web/index.lua:41: entry({"web", "init", *** 黑客联系方式 "hello"}, call("action_hello"), _("欢迎界面"), 14, 0x09) --不需要登录web/index.lua:42: entry({"web", "init", "agreement"}, template("web/init/agreement"), _("用户协议"), 14, *** 黑客联系方式 0x09) --不需要登录web/index.lua:43: entry({"web", "init", "privacy"}, template("web/init/privacy"), _("用户体验改进计划"), 14, 0x09) --不需要登录web/index.lua:76: entry({"web", *** 黑客联系方式 "webinitrdr"}, call("action_webinitrdr"), _(""), 110, 0x09)web/index.lua:79: entry({"web", "ieblock"}, template("web/ieblock"), _(""), 120, 0x09)api/xqpassport.lua:12: entry({& *** 黑客联系方式quot;api", "xqpassport", "login"}, call("passportLogin"), (""), 401, 0x01)api/xqpassport.lua:14: entry({"api", "xqpassport", "rigister"}, call("routerRegister"), *** 黑客联系方式 (""), 405, 0x01)api/xqpassport.lua:15: entry({"api", "xqpassport", "binded"}, call("getBindInfo"), (""), 406, 0x01)api/xqnetdetect.lua:12: --entry({"api", & *** 黑客联系方式quot;xqnetdetect", "wan_status"}, call("getWanStatus"), _(""), 351, 0x01)api/xqnetdetect.lua:13: entry({"api", "xqnetdetect", "sys_info"}, call("getSysInfo"), *** 黑客联系方式 (""), 352, 0x01)api/xqnetdetect.lua:14: entry({"api", "xqnetdetect", "ping_test"}, call("pingTest"), (""), 353, 0x01)api/xqnetdetect.lua:15: entry({"api", "xqnetdetect", *** 黑客联系方式 "detect"}, call("systemDiagnostics"), (""), 354, 0x01)api/xqnetdetect.lua:16: entry({"api", "xqnetdetect", "sys_status"}, call("systemStatus"), ("" *** 黑客联系方式), 355, 0x01)api/xqnetdetect.lua:19: entry({"api", "xqnetdetect", "nettb"}, call("nettb"), (""), 359, 0x01)api/misns.lua:12: entry({"api", "misns", "prepare"}, *** 黑客联系方式 call("prepare"), (""), 201, 0x01)api/misns.lua:17: entry({"api", "misns", "sns_init"}, call("snsInit"), (""), 206, 0x01)api/misns.lua:21 *** 黑客联系方式: entry({"api", "misns", "authorization_status"}, call("authorizationStatus"), (""), 210, 0x01)api/xqsystem.lua:17: entry({"api", "xqsystem", "system_info"}, *** 黑客联系方式 call("getSysInfo"), (""), 104, 0x01)api/xqsystem.lua:32: entry({"api", "xqsystem", "get_languages"}, call("getLangList"), (""), 118, 0x01)api/xqsystem.lua:33: *** 黑客联系方式 entry({"api", "xqsystem", "get_main_language"}, call("getMainLang"), (""), 119, 0x01)api/xqsystem.lua:45: entry({"api", "xqsystem", "passport_bind_info"}, call( *** 黑客联系方式"getPassportBindInfo"), (""), 132, 0x01)api/xqsystem.lua:60: entry({"api", "xqsystem", "flash_status"}, call("flashStatus"), (""), 147, 0x01)api/xqsystem.lua:86: *** 黑客联系方式 entry({"api", "xqsystem", "device_mac"}, call("getDeviceMacaddr"), (""), 173, 0x01)service/cachecenter.lua:11: entry({"service", "cachecenter", "report_key"}, *** 黑客联系方式 call("reportKey"), _(""), nil, 0x01)service/datacenter.lua:34: entry({"service", "datacenter", "media_delta"}, call("mediaDelta"), _(""), nil, 0x01)service/datacenter.lua:35: *** 黑客联系方式 entry({"service", "datacenter", "media_metadata"}, call("mediaMetadata"), _(""), nil, 0x01)service/datacenter.lua:36: entry({"service", "datacenter", *** 黑客联系方式 "share_miui_dir"}, call("shareMiuiBackupDir"), _(""), nil, 0x01)service/datacenter.lua:37: entry({"service", "datacenter", "get_file_list"}, call("getFileList"), _(""), *** 黑客联系方式 nil, 0x01)service/datacenter.lua:38: entry({"service", "datacenter", "get_storage_info"}, call("getStorageInfo"), _(""), nil, 0x01)service/datacenter.lua:39: entry({"service" *** 黑客联系方式, "datacenter", "get_youku_status"}, call("getYoukuStatus"), _(""), nil, 0x01)service/datacenter.lua:40: entry({"service", "datacenter", "bind_youku_appid"}, *** 黑客联系方式 call("bindYoukuAppid"), _(""), nil, 0x01)
先选择几个重点的模块看一下,如:xqsystem,datacenter, misystem先选择之一个来查看一下:
通过如下内容:
api/misystem.lua:33: entry({"api", "misystem", "topo_graph"}, *** 黑客联系方式 call("getTopoGraph"), (""), 114, 0x0d)
得知,可以通过访问http:///cgi-bin/luci/api/misystem/topo_graph 来调用getTopoGraph,可以去看一下getTopoGraph函数的内容,
function getTopoGraph() local XQTopology = *** 黑客联系方式 require("xiaoqiang.module.XQTopology") local result = { ["code"] = 0 } local simplified = tonumber(LuciHttp.formvalue("simplified")) == 1 and true or false local graph = simplified and XQTopology.simpleTopoGraph() *** 黑客联系方式 or XQTopology.topologicalGraph() result["graph"] = graph result["show"] = graph.leafs and 1 or 0 LuciHttp.write_json(result)end
发现函数中也没有做任何验证,进行访问即可得到如下信息
在测试其他的模块也有一些信息泄漏的漏洞,
其中比较严重的漏洞是下面这个,可以获取这个用户使用离线下载的文件列 *** 黑客联系方式表,函数如下:
function getFileList() local payload = {} payload["api"] = 3 payload["path"] = LuciHttp.formvalue("path") payload["sharedOnly"] = true tunnelRequestDatacenter(payload)end
看内容应该是获取path下目录,但是也做了校验,并不能跳出其设置的用户目录,但是比如我们获取了下面这位用户,看到他下了一些小电影,什么黑丝豹纹,都是什么意思哦来自为知笔记(Wiz)
如果可以打开看看是不是缓存出错引起的,用下面的软件修复一下(先下载魔方清理一下缓存试试,还是不行下载360急救箱试试,在不行,还原系统或重装)。1)。fiddler搞网赌
盗qq好友的密码软件苹果手机版不知道你想学哪方面的,想花多少钱。我教汇编(目前据我所知没什么地方教汇编除了大学学单片机)和 *** 安全,296343374有诚意加我。可分期付款手机黑客软件dsploit,去百度贴吧就能找到安装教 *** 黑客联系方式程和使用教程目前国家在扫黄打黑.免费的已经少之又少。说真心话.我每天只去HD *** 信息安全官方论坛.这是纯正免费的.而且有技术.你百度下就知道---------。
fiddler搞网赌我曾经就远程控制过别人也看过别人照片和视频不过作为黑客也是有素质的一般不会轻易盗取你照片发网上的除非你遇到很 *** 的也就监控玩玩罢了你这个。
。还是可以的,qq权限这种东西只不过是给一些对于电脑技术不是很高的人用的,然而黑客们基本上是不会闲的无事去看别人的空间的。我觉得是这样的 *** 黑客联系方式,因。
不大可能,或者是可能性很小,微信技术团队也不是吃素的。fiddler搞网赌
入门书籍程序设计:基础理论:编码:隐匿在计算机软硬件背后的语言C:C和指针C++:C++程序设计原理与实践Java:Java核心技术(第9版)C#:精通C#(第6版。
fiddler搞网赌。无需邀请码黑客论坛都是小型的,他们的教程都是转摘其他论坛的,大型论坛才经常做原创教程,可以关注下华夏黑客联盟,我觉得不错,等待他开放注册吧目前的很多黑客论坛都需要邀请码的, *** 黑客联系方式一般10-10元一个。如果你真的想注册的,我可以送你一个“华夏黑客同盟”的邀请码。
标签:
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。