1.Discuz!ML 3.x任意代码执行漏洞之大佬分析之后我分析
2.诊断学彩色图解(第2版)图书目录
3.热门微信小程序demo源码下载汇总(17/12.1-7)
4.CIAM (用户身份管理)选型指南
Discuz!ML 3.x任意代码执行漏洞之大佬分析之后我分析
首先附上米斯特安全大佬们文章的单车链接,刚开始有些东西我没看的码单太懂,于是车软我就再添了点东西,希望像我一样的单车小白也能看懂。
一、码单漏洞综述
漏洞类型:代码执行漏洞
影响系统及版本:Discuz!ML V3.2-3.4
漏洞原因:Discuz!ML 系统对cookie中的车软2017ios源码l接收的language参数内容未过滤,导致字符串拼接,单车从而执行php代码。码单
二、车软漏洞分析
根据米斯特大佬们提供的单车报错界面,我对其中的码单三个报错点一一进行了分析,三个报错点如下图所示(还有米斯特大佬们的车软水印)。
2.1 报错点一分析
发现首先是单车portal.php函数出错,把这张图放大看,码单发现是车软对cookie中的language参数进行拼接而导致的报错,根据这个参数的语义判断应该是调用语言模板的时候因为找不到相应的模板而发生的错误,那么先定位portal.php报错的第行,该文件路径:
紧接着定位libfile函数,文件加载路径函数。
函数介绍:
libfile($libname, $folder = ”),包含2个参数:$libname 和 $folder,该函数读取source目录下的$folder子目录作为基础部分。
libfile函数源代码如下图所示:
DISCUZ_ROOT为定义网站根目录的常量,realpath函数为返回绝对路径函数,到此处第一个报错就已经分析完毕,原因是系统因为找不到一个php文件而报的错。
2.2 报错点二分析
还是先根据错误定位到引用函数文件,文件路径source/module/portal/portal_index.php,抽象模型源码大全然后定位到源函数所在的文件,引用的地方好定位,位置在/source/function/function_core.php,直接上图
然后这个函数写的还贼长,哎,没得办法,这个时候只能靠运气了,搏一搏,单车变摩托,首先百度,这个函数的作用也就是个调用模板的函数。
然而这个函数写了行代码,找个大表哥的写的代码注释吧,先扔个参考链接 discuz.net/thread-...
此时我发现了思路有些繁琐,然后就去找第三个错误的提示内容,为了找到是哪里出了问题,我把这段代码放到了txt文件中,根据第三个错误提示的信息开始了全文搜索,终于,根据关键字tpl.php值搜索到一处与language这个函数语义有关的东西DISCUZ_LANG。
既然是语言参数出了问题,还是个常量,那就去找找常量定义的地方,全局搜DISCUZ_LANG,跟踪到/source/class/discuz/discuz_application.php
可以看到,将$lng的值给了DISCUZ_LANG,追踪$lng在何处定义,腾讯视频源码教程全局搜索$lng,找到了定义$lng的地方(图中第一个箭头)
到此为止,又出现个var,这是个啥,我只知道var[‘cookie’][‘language’]的意思就是cookie中的language的值。
以上可以分析出,从获取language到DISCUZ_LANG拿到值的过程中,并没有对其进行过滤。
那么现在必须确定报错问题是怎么出现的了,看下图:
出现了这样的代码,直接拼接,然后RCE
拼接单引号和'.phpinfo().'
按理来说可以RCE
总结下大概流程从cookie中获取了language的值,然后给了$lng,接着$lng又给了DISCUZ_LANG,系统通过template函数调用模板文件,template函数执行,执行到$cachefile的时候,执行构造的代码。
三、漏洞复现
访问站点www.***.com/forum.php,刷新页面抓包
*本文作者:xxx,转载请注明来自 FreeBuf.COM在language参数处'.phpinfo().'
返回内容:
复现成功。
看起来复现大佬们的漏洞还是挺有意思的,开心。
诊断学彩色图解(第2版)图书目录
第1章 绪论 1.1 基于工作量均衡理论企业送货车辆路线问题的提出 1.1.1 物流配送企业末端配送面临的问题 1.1.2 基于工作量均衡理论的物流配送中心末端配送车辆路线问题 1.1.3 车辆路线问题的遍历性 1.2 物流配送中心末端配送VRP的研究现状 1.2.1 国外末端配送VRP研究 1.2.2 国内末端配送VRP研究 1.3 本书的主要研究工作 1.4 本书的结构 第2章 物流配送中心末端配送线路优化问题一般描述 2.1 末端配送VRP问题的计算复杂度 2.1.1 末端配送基本VRP问题的描述 2.1.2 末端配送VRP问题的分类 2.1.3 VRP问题的计算复杂度 2.2 末端配送VRP问题的求解策略 2.2.1 精确算法 2.2.2 启发式算法 2.3 大规模末端配送VRP问题的启发式算法 2.3.1 启发式初始解法 2.3.2 传统交换改善法 2.3.3 现代优化算法 2.4 几种VRP算法的分析对比 2.5 物流配送中心送货线路实际应用算法描述 第3章 基于工作量均衡的配送线路划分系统模型与算法 3.1 广义工作量的提出 3.1.1 广义工作量的定义 3.1.2 工作量均衡的定义 3.1.3 企业真实送货过程跟踪分析 3.1.4 权值的确定与调整 3.2 网点间的送货经济距离 3.2.1 送货经济距离概念的提出 3.2.2 两点间送货经济距离的求解 3.3 配送线路划分系统模型建立 3.3.1 线路划分的基本原则 3.3.2 线路划分系统的运行前提 3.3.3 线路划分系统的模型建立 3.4 线路划分系统的求解算法研究 3.4.1 一阶最邻近算法与二阶最邻近算法 3.4.2 插入算法对划分初始解的改进 第4章 基于真实街道单车线路优化问题的模型与算法 4.1 单车线路优化问题动态网络模型 4.2 最节约插值法 4.3 混合遗传算法 4.3.1 基本遗传算法 4.3.2 爬山算法 4.3.3 混合遗传算法 4.4 最节约插值法与混合遗传算法的结合 4.5 考虑道路畅通度的单车线路优化随机模型与算法 4.5.1 路网流量分析 4.5.2 考虑道路畅通度的最佳路径算法 第5章 基于GIS平台的系统设计与实现 5.1 系统基础设计 5.1.1 GIS与MapInf0技术应用 5.1.2 道路网络拓扑结构设计 5.2 系统集成结构设计 5.2.1 系统集成设计 5.2.2 系统主要工作流程 5.3 系统总体设计 5.3.1 系统功能设计 5.3.2 数据库设计 5.3.3 系统基本输出设计 第6章 应用案例分析与电子排单系统可视化输出 6.1 杭烟配送网络车辆线路优化问题 6.1.1 问题描述 6.1.2 杭烟配送主要流程分析 6.1.3 杭烟末端配送课题的求解思路 6.2 电子排单系统的可视化输出 6.2.1 主界面输出 6.2.2 线路划分结果输出 6.2.3 单车线路优化结果输出 6.3 计算机仿真结果分析 6.3.1 线路划分仿真结果分析 6.3.2 单车线路优化仿真结果分析 6.3.3 考虑道路畅通度因素的单车线路优化仿真结果分析 第7章 研究结论与展望 7.1 主要研究结论 7.2 主要关键性问题 7.3 主要技术理论创新 7.4 研究展望 附录F1 线路划分与单车线路优化求解算法关键源代码分析 附录F2 杭烟物流配送中心末端配送实验数据仿真流程 参考文献 本书主要支撑成果论文著作
相关研究课题
相关获奖成果
后记扩展资料
本书以物流配送中心配送线路问题为研究对象,以降低物流配送服务成本和提高服务质量为目标,对其具有普遍意义的周立功canpro源码配送网点送货线路划分和单车线路优化两大问题,进行了深入的理论研究和应用分析。热门微信小程序demo源码下载汇总(/.1-7)
最新: 热门微信小程序demo源码下载汇总(/.8-)
热门 微信小程序demo源码下载汇总(/.1-7),乃 小程序学习分析必备资源!点击标题可直接跳转至下载:
新手必看: 开发者工具如何快速导入小程序demo源码教程!
• 微信小程序中的自适应宽高的计算类
• 小胖看车团-微信小程序 预览版
• [小程序源码]微信小程序-音乐播放器
• 精品微信小程序-有调
• 微信小程序 Artand Demo
• 微信小程序 外卖demo
• 微信小程序 五月天
• 微信小程序demo:家庭菜谱
• 仿丸子地球app做的微信小程序
• 微信小程序之点计算游戏
• 微信小程序-滚动+排版
• 微信小程序--小厨房
• 微信小程序demo之模仿某汽车app
• 微信小程序demo-豆瓣科幻小说
• 仿 「ONE · 一个」 的微信小程序
• 微信小程序-新华字典
• 微信小程序:查拼音
• 微信小程序TDD示例代码
• 微信小程序转盘抽奖
• 微信小程序瀑布流布局模式
• 微信小程序demo:狼人杀
• 微信小程序之点计算游戏
• 微信小程序仿QQ源码下载
• 微信小程序仿会议精灵的首页
• 微信小程序 滑动效果demo
• 微信小应用-英雄联盟(LOL)战绩查询
• 微信小程序-7天写分答微信小程序 (2M动图预警)
• 微信小程序 实战教程(全民k歌)
• 微信小程序之火车票查询
• 上门美容预约模板源码 支持选择地址、选择时间
• 仿拉勾网App小程序demo
• [小程序源码]微信小程序-贪吃蛇小游戏
• [小程序源码]微信小程序-仿今日头条
• [小程序源码]微信小程序-仿Apple Music
• 小程序餐厅模板 带完整交互源码
• [小程序源码]微信小程序-大好商城
• [小程序源码]微信小程序-GitHub
• [小程序源码]微信小程序-PigRaising
• [小程序源码]微信小程序-小熊の日记
• [小程序源码]微信小程序-妹纸浏览
• [小程序源码]微信小程序-计算器
• [小程序源码]微信小程序-音乐播放器
• [小程序源码]微信小程序-HiApp
• [小程序源码]微信小程序-公众号热门文章信息流
• [小程序源码]微信小程序-购物车Demo
• [小程序源码]微信小程序-掘金社区
• [小程序源码]微信小程序-微票
• [小程序源码]微信小程序-番茄时钟
• [小程序源码]微信小程序-豆瓣
**• 微信小程序开发的芒果TV示例
• 微信小程序-v2ex(wechat-v2ex)
• 集成Redux实现的Todo list
• 微信小程序-布局效果Demo
• 微信小程序仿**appdemo源码
• wechat-weapp-gank
• 基于微信小程序开发的仿微信demo
• 设计网站dribbble
• 微信小程序版打飞机源码下载
• 微信小程序外卖平台demo源码
• 针对微信小程序整合的一套UI库
• 微信小程序地图定位demo
• 微信小程序版的知乎日报
• wxapp-Breakfast()
• 微信小程序在线技术社区demo源码
• 微信小程序开发的app---礼物说APP
• 微信小程序-小波说雨燕blog
• 微信小程序demo:百度百科搜索
• 微信小程序demo:果库
• 微信小程序demo:爆米花popcorn]
• 微信小程序demo:展示美女模特福利
• 微信小程序示例 诗词demo
• 微信小程序学习用demo:附登录设计实战教程
• 微信小程序demo:仿手机淘宝
• 微信小程序demo:Dribbble
• 微信小程序推荐demo:备忘录
• 微信小程序demo:智能机器人
• 微信小程序demo:万年历
• 微信小程序demo:够野活动
• 基于面包旅行 API 制作的微信小程序示例
• 微信小程序demo:小米天气
• 微信小程序开发 辩论赛计时APP
• 微信小程序demo:桔子信用
• 微信小程序demo:京东首页
• 微信小程序demo:宅男社区
• 微信小程序demo:课程列表
• 微信小程序demo推荐:百家菜谱
• 微信小程序demo:云图音乐
• 微信小程序——乐词
• 微信小程序demo:小姨妈
• 微信小程序版的扫雷(挖金子)
• 微信小程序DEMO-A岛
• 微信小程序——会面APP
• 微信小程序之音乐播放器
• 使用TypeScript开发微信小程序的demo
• 微信小程序通知广播模式类,降低小程序开发的耦合度
• 微信小程序demo 冥想
• Weapp-labofo 共享ofo共享单车的微信小程序
• 微信小程序 番茄日记
• 教务系统 微信小程序
• 微信小程序 商城demo
• 微信小程序-哔哩哔哩排行榜
• 微信小程序版的cnode社区客户端
• 微信小程序初试:你的QQ是吉是兄?
• 类似微信电话本的一个微信小程序
• 微信小程序demo - Winne The Pool 小店
• 小程序之备忘录开发
• 用微信小程序实现的奇舞周刊
• 微信小程序-小说阅读器 附件下载
• 微信小程序-段子、趣图
• 微信小程序示例 - 剪刀石头布
• 微信小程序-旅游景区模板
• 微信小程序demo源码 水浒传
• 微信小程序 元宝币钱包
• 利用豆瓣的图书Api做的demo
• 微信小程序开发之-
• 微信小程序-骰子游戏
• 微信小程序demo-开发订单管理,菜单,页面设计
• 微信小程序demo-微挂靠公司端开发,下拉菜单,联系人列表
• 微信小程序demo-百货商城小程序类demo开发源码
• 微信小程序demo-二手书设计开发:界面模板
CIAM (用户身份管理)选型指南
你是否正在构思下一个面向消费者的爆款应用?
为了使这个应用获得成功,你必须服务好你的用户,让用户旅程在你的应用中更加便捷,而「用户旅程」的第一步即是「用户的认证及管理」(CIAM)。那么我们该如何设计用户认证体系?
你听到一个声音:“看看微信”。你说服自己这不是抄袭,这叫“看业界”。“飞机都是两个翅膀,汽车都是四个轮子,E 总是等于 mc^2。我哪有抄袭”
来到微信的登录界面才发现,仅仅一个登录,就已经非常复杂了。那再看看抖音吧,相对于微信来说,抖音不仅多了一个“电话号码一键登录”,还多了一个“微信登录”,批处理编写源码而微信却没有“抖音登录”
作为创业者,你已经刷了很多励志视频,你笃定一个信念:办法总是比困难多。于是你暂时将自研的解决方案作为 Plan B 放到一边,开始寻找供应商来解决这个问题。
如果你是技术出身,或者当你咨询你的 CTO 时,不可避免的会出现一个思路,那就是基于开源来构建。同时,你还需要提前决策,你的应用是打算用小程序还是原生 App 来服务用户。
本文通过分析原生与小程序的利弊以及市面上主流用户身份管理(CIAM)的开源和商业系统,帮助你做出最优的 CIAM 选型决策。
在进入技术讨论之前,我们先回顾一下移动开发的历史。
0x 移动开发的兴起和转折
年毕业后我就一直工作在移动领域,先后服务于 Gameloft、Nokia、Samsung 和华为,我见证了诺基亚的倒下、三星的崛起、苹果的辉煌、华为的曲折。从 3G 兴起以来,我们都听闻过很多商业模式上的创新,每隔一段时间就会听说谁谁谁开发了一个 App,拿到了 xx 投资,移动开发人员在市场上炙手可热。
但 年的春节,移动开发领域迎来了一个重大转折:微信推出了小程序。这彻底改变了移动开发格局。之前任何的功能都需要一个 App 来承载,而现在很多功能只需要一个小程序。
但小程序并不能改变这样一个事实:每隔一段时间,就会出现一个现象级的 App。如抖音、头条、小红书、Keep、国家反诈中心 App,以及很多不大可能以小程序形式出现的 App,如以特斯拉为代表的车主 App、银行金融类 App、社交 App。
0x 原生 vs 小程序
小程序是基于 Web 技术实现的,优缺点也非常明显,对比如下:
基于以上对比,小程序更适合简单业务场景,如点餐、单车解锁、地铁扫码、出示健康码等。小程序缺点中的 “能力不全” 需要重点注意,建议开发者提前做好预研,避免开发到一半突然发现某个功能实现不了,例如推送功能非常有限。
0x 用户管理系统概览
此时,你已经在小程序和原生 App 之间做出了选择。接下来分析一下用户管理系统,主要对比参照目前国内主流身份认证管理服务商。
“随着时间的推移,以下分析可能会发生动态变化,请以发展的眼光审视。”
如果时间允许,可以尝试接入系统体验一下,相信很快就会发现各种问题。但由于用户管理系统在云厂商中属于细分部门,投入有限,响应速度也很慢。若涉及产品改动,那更是漫长的版本排期。事实上,即使强如 AWS,其用户管理系统 Cognito 也广受批评。
专业的事应该交给专业的人来做。
考虑到本文聚焦的是 CIAM,我们首先排除掉国内其它身份管理厂商,因为目前国内其它身份管理厂商主要聚焦的是 EIAM(企业内部用户管理系统),绝大多数面向 C 端场景的功能不足,体验有待优化。 于是,我们把目标锁定在 Authing、casdoor 这个两家服务商身上。不要被名字迷惑,如果你去 github 看他们的代码贡献者,会惊喜的发现程序员的头像都是二次元。
0x 需求清单
我梳理了一个典型的面向消费者的用户管理系统需求清单,我们可以拿着这份清单去匹配。以下表单中都是非常基础的功能。其他的诸如:多因素认证、人脸指纹识别、用户信息补全、扫码登录等请按需考虑。
0x Authing、casdoor 概览
0x Authing、casdoor 核心服务对比概览
Authing
Authing 提供整体基于 K8s 技术标准的私有化部署,并根据客户环境采用适合客户环境的高可用方案。但作为 POC,可直接使用 SaaS 版本,无需部署,开箱即用。
casdoor
写此文时,我采用了最新的 casdoor 1..0 版本。请参考官方文档启动本地服务: Server Installation
这是因为本地数据库未创建 ‘casdoor’ schema。遗憾的是,官网说会自动创建:
手动创建 schema 即可。
然后在浏览器里面输入 ponent),其丰富的开源组件对主流移动端开发语言的支持,帮助多端应用的开发者极大节省开发成本。
其中比较有意思的是语义化编程模型,感兴趣的同学可以参考下 : 基于语义化思想的全新编程模型
官方文档地址: casdoor android 接入
接入遇到第一个大的问题是 casdoor 不提供 aar 包,也没有 maven 依赖地址,所以要么下载他们的源码,自行打包成 aar,要么将源码拷贝到工程里面(需要同时拷贝 build.gradle、Manifest 以及 res)。
这样的方式对开发者非常不友好,想象一下每次升级 SDK,都得再做一遍打包或者拷贝的动作。
Android SDK 按照 github 上的文档可以顺利跑起来,但运行后页面无法正常显示,无论是使用本地服务,还是 casdoor 的示例服务( door.casbin.com)。
0x Authing、casdoor iOS 接入对比
官方文档地址: Authing iOS 接入
根据以上文档提示能顺利接入。和 Android SDK 一样,Authing iOS SDK,提供 Web、原生的接入方式,同时也提供原生 UI 控件。
官方文档地址: casdoor iOS 接入
所以对于 casdoor iOS 来说,目前基本处于不可用状态。
0x Authing、casdoor 小程序接入对比
官方文档地址: Authing 小程序接入
按照文档可以顺利接入。有一个讨论点是,“用户不存在”这样的返回应该当作异常处理吗?
目前还没有 SDK,只有一个 example,其内容也为空,正处于初步开发阶段。
GitHub - casdoor/casdoor-wechat-miniprogram-example
0 结论
以上对比之后发现,从产品能力和接入体验来说, Authing 在国内身份认证管理市场上是遥遥领先的。 开源的好处是,在成本允许的条件下,开发者总是可以基于开源自行扩展。而当前国内的开源项目在现阶段是非常粗糙的,离生产环境使用还有很大距离。端侧 SDK 只支持 Webview,这几乎无法在 2C 业务场景里面使用,只能通过其 REST API 自己写代码。