最近哈希表碰撞攻击(Hashtable collisions as DOS attack)的话题不断被提起,各种语言纷纷中招。本文结合PHP内核源码,聊一聊这种攻击的原理及实现。
(相关资料图)
最近哈希表碰撞攻击(Hashtable collisions as DOS attack)的话题不断被提起,各种语言纷纷中招。本文结合PHP内核源码,聊一聊这种攻击的原理及实现。
哈希表碰撞攻击的基本原理
哈希表是一种查找效率极高的数据结构,很多语言都在内部实现了哈希表。PHP中的哈希表是一种极为重要的数据结构,不但用于表示Array数据类型,还在Zend虚拟机内部用于存储上下文环境信息(执行上下文的变量及函数均使用哈希表结构存储)。
理想情况下哈希表插入和查找操作的时间复杂度均为O(1),任何一个数据项可以在一个与哈希表长度无关的时间内计算出一个哈希值(key),然后在常量时间内定位到一个桶(术语bucket,表示哈希表中的一个位置)。当然这是理想情况下,因为任何哈希表的长度都是有限的,所以一定存在不同的数据项具有相同哈希值的情况,此时不同数据项被定为到同一个桶,称为碰撞(collision)。哈希表的实现需要解决碰撞问题,碰撞解决大体有两种思路,第一种是根据某种原则将被碰撞数据定为到其它桶,例如线性探测——如果数据在插入时发生了碰撞,则顺序查找这个桶后面的桶,将其放入第一个没有被使用的桶;第二种策略是每个桶不是一个只能容纳单个数据项的位置,而是一个可容纳多个数据的数据结构(例如链表或红黑树),所有碰撞的数据以某种数据结构的形式组织起来。
不论使用了哪种碰撞解决策略,都导致插入和查找操作的时间复杂度不再是O(1)。以查找为例,不能通过key定位到桶就结束,必须还要比较原始key(即未做哈希之前的key)是否相等,如果不相等,则要使用与插入相同的算法继续查找,直到找到匹配的值或确认数据不在哈希表中。
PHP是使用单链表存储碰撞的数据,因此实际上PHP哈希表的平均查找复杂度为O(L),其中L为桶链表的平均长度;而最坏复杂度为O(N),此时所有数据全部碰撞,哈希表退化成单链表。下图PHP中正常哈希表和退化哈希表的示意图。
哈希表碰撞攻击就是通过精心构造数据,使得所有数据全部碰撞,人为将哈希表变成一个退化的单链表,此时哈希表各种操作的时间均提升了一个数量级,因此会消耗大量CPU资源,导致系统无法快速响应请求,从而达到拒绝服务攻击(DoS)的目的。
可以看到,进行哈希碰撞攻击的前提是哈希算法特别容易找出碰撞,如果是MD5或者SHA1那基本就没戏了,幸运的是(也可以说不幸的是)大多数编程语言使用的哈希算法都十分简单(这是为了效率考虑),因此可以不费吹灰之力之力构造出攻击数据。下一节将通过分析Zend相关内核代码,找出攻击哈希表碰撞攻击PHP的方法。
Zend哈希表的内部实现
数据结构
PHP中使用一个叫Backet的结构体表示桶,同一哈希值的所有桶被组织为一个单链表。哈希表使用HashTable结构体表示。相关源码在zend/Zend_hash.h下:
typedefstructbucket{ulongh;/*Usedfornumericindexing*/uintnKeyLength;void*pData;void*pDataPtr;structbucket*pListNext;structbucket*pListLast;structbucket*pNext;structbucket*pLast;chararKey[1];/*Mustbelastelement*/}Bucket;typedefstruct_hashtable{uintnTableSize;uintnTableMask;uintnNumOfElements;ulongnNextFreeElement;Bucket*pInternalPointer;/*Usedforelementtraversal*/Bucket*pListHead;Bucket*pListTail;Bucket**arBuckets;dtor_func_tpDestructor;zend_boolpersistent;unsignedcharnApplyCount;zend_boolbApplyProtection;#ifZEND_DEBUGintinconsistent;#endif}HashTable;
字段名很清楚的表明其用途,因此不做过多解释。重点明确下面几个字段:Bucket中的“h”用于存储原始key;HashTable中的nTableMask是一个掩码,一般被设为nTableSize – 1,与哈希算法有密切关系,后面讨论哈希算法时会详述;arBuckets指向一个指针数组,其中每个元素是一个指向Bucket链表的头指针。
哈希算法
PHP哈希表最小容量是8(2^3),最大容量是0×80000000(2^31),并向2的整数次幂圆整(即长度会自动扩展为2的整数次幂,如13个元素的哈希表长度为16;100个元素的哈希表长度为128)。nTableMask被初始化为哈希表长度(圆整后)减1。具体代码在zend/Zend_hash.c的_zend_hash_init函数中,这里截取与本文相关的部分并加上少量注释。
ZEND_APIint_zend_hash_init(HashTable*ht,uintnSize,hash_func_tpHashFunction,dtor_func_tpDestructor,zend_boolpersistentZEND_FILE_LINE_DC){uinti=3;Bucket**tmp;SET_INCONSISTENT(HT_OK);//长度向2的整数次幂圆整if(nSize>=0x80000000){/*preventoverflow*/ht->nTableSize=0x80000000;}else{while((1U<nTableSize=1<nTableMask=ht->nTableSize-1;/*此处省略若干代码…*/returnSUCCESS;}
值得一提的是PHP向2的整数次幂取圆整方法非常巧妙,可以背下来在需要的时候使用。
Zend HashTable的哈希算法异常简单:
即简单将数据的原始key与HashTable的nTableMask进行按位与即可。
如果原始key为字符串,则首先使用Times33算法将字符串转为整形再与nTableMask按位与。
下面是Zend源码中查找哈希表的代码:
ZEND_APIintzend_hash_index_find(constHashTable*ht,ulongh,void**pData){uintnIndex;Bucket*p;IS_CONSISTENT(ht);nIndex=h&ht->nTableMask;p=ht->arBuckets[nIndex];while(p!=NULL){if((p->h==h)&&(p->nKeyLength==0)){*pData=p->pData;returnSUCCESS;}p=p->pNext;}returnFAILURE;}ZEND_APIintzend_hash_find(constHashTable*ht,constchar*arKey,uintnKeyLength,void**pData){ulongh;uintnIndex;Bucket*p;IS_CONSISTENT(ht);h=zend_inline_hash_func(arKey,nKeyLength);nIndex=h&ht->nTableMask;p=ht->arBuckets[nIndex];while(p!=NULL){if((p->h==h)&&(p->nKeyLength==nKeyLength)){if(!memcmp(p->arKey,arKey,nKeyLength)){*pData=p->pData;returnSUCCESS;}}p=p->pNext;}returnFAILURE;}
其中zend_hash_index_find用于查找整数key的情况,zend_hash_find用于查找字符串key。逻辑基本一致,只是字符串key会通过zend_inline_hash_func转为整数key,zend_inline_hash_func封装了times33算法,具体代码就不贴出了。
攻击
基本攻击
知道了PHP内部哈希表的算法,就可以利用其原理构造用于攻击的数据。一种最简单的方法是利用掩码规律制造碰撞。上文提到Zend HashTable的长度nTableSize会被圆整为2的整数次幂,假设我们构造一个2^16的哈希表,则nTableSize的二进制表示为:1 0000 0000 0000 0000,而nTableMask = nTableSize – 1为:0 1111 1111 1111 1111。接下来,可以以0为初始值,以2^16为步长,制造足够多的数据,可以得到如下推测:
0000 0000 0000 0000 0000 & 0 1111 1111 1111 1111 = 0
0001 0000 0000 0000 0000 & 0 1111 1111 1111 1111 = 0
0010 0000 0000 0000 0000 & 0 1111 1111 1111 1111 = 0
0011 0000 0000 0000 0000 & 0 1111 1111 1111 1111 = 0
0100 0000 0000 0000 0000 & 0 1111 1111 1111 1111 = 0
……
概况来说只要保证后16位均为0,则与掩码位于后得到的哈希值全部碰撞在位置0。
下面是利用这个原理写的一段攻击代码:
这段代码在我的VPS上(单CPU,512M内存)上用了近88秒才完成,并且在此期间CPU资源几乎被用尽:
而普通的同样大小的哈希表插入仅用时0.036秒:
可以证明第二段代码插入N个元素的时间在O(N)水平,而第一段攻击代码则需O(N^2)的时间去插入N个元素。
POST攻击
当然,一般情况下很难遇到攻击者可以直接修改PHP代码的情况,但是攻击者仍可以通过一些方法间接构造哈希表来进行攻击。例如PHP会将接收到的HTTP POST请求中的数据构造为$_POST,而这是一个Array,内部就是通过Zend HashTable表示,因此攻击者只要构造一个含有大量碰撞key的post请求,就可以达到攻击的目的。具体做法不再演示。
防护
POST攻击的防护
针对POST方式的哈希碰撞攻击,目前PHP的防护措施是控制POST数据的数量。在>=PHP5.3.9的版本中增加了一个配置项max_input_vars,用于标识一次http请求最大接收的参数个数,默认为1000。因此PHP5.3.x的用户可以通过升级至5.3.9来避免哈希碰撞攻击。5.2.x的用户可以使用这个patch:http://www.laruence.com/2011/12/30/2440.html。
另外的防护方法是在Web服务器层面进行处理,例如限制http请求body的大小和参数的数量等,这个是现在用的最多的临时处理方案。具体做法与不同Web服务器相关,不再详述。
其它防护
上面的防护方法只是限制POST数据的数量,而不能彻底解决这个问题。例如,如果某个POST字段是一个json数据类型,会被PHPjson_decode,那么只要构造一个超大的json攻击数据照样可以达到攻击目的。理论上,只要PHP代码中某处构造Array的数据依赖于外部输入,则都可能造成这个问题,因此彻底的解决方案要从Zend底层HashTable的实现动手。一般来说有两种方式,一是限制每个桶链表的最长长度;二是使用其它数据结构如红黑树取代链表组织碰撞哈希(并不解决哈希碰撞,只是减轻攻击影响,将N个数据的操作时间从O(N^2)降至O(NlogN),代价是普通情况下接近O(1)的操作均变为O(logN))。
目前使用最多的仍然是POST数据攻击,因此建议生产环境的PHP均进行升级或打补丁。至于从数据结构层面修复这个问题,目前还没有任何方面的消息。
参考
[1] Supercolliding a PHP array
[2] PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
[3] 通过构造Hash冲突实现各种语言的拒绝服务攻击
[4] PHP数组的Hash冲突实例
[5] PHP 5.4.0 RC4 released
X 关闭
推荐内容
- 今日热文:PHP哈希表碰撞攻击原理
- 天气预报|重庆市气象台发布暴雨IV级预警 5日夜间起中东部将有大到暴雨 环球聚看点
- 在青春的赛道上奋力奔跑,杨浦青年特警展风采 热门
- 重庆市青少年轮滑冰球冠军赛落下帷幕
- 曹县侯集回族镇和谐村志愿服务队_对于曹县侯集回族镇和谐村志愿服务队简单介绍 全球播报
- 环球即时看!海底捞回应菠菜虫卵 不看后悔
- 优化政务服务 乐东公布第一批“视频办”服务事项清单|快播
- 10个红包制作灯笼图解视频教程(30个红包制作灯笼图解) 世界热讯
- 三星宣布推出一款具有更好睡眠健身和安全功能的UI 5手表 天天短讯
- 全球微动态丨吉林2023上半年普通高中学业水平合格性考试时间及科目
- sus420什么材质(sus420)_世界观天下
- 煤城建设
- 北交所龙虎榜|锦好医疗今日大涨23.11%,卖一净卖出554.26万元
- 中原银行新乡分行:开展五一节前暨新提聘、岗位调整人员集体廉政谈话 全球速讯
- 全球新资讯:4月新势力销量出炉,理想汽车为何那么火?
- 每日热门:院校评分在哪查询排名 高考主要看分数还是排位?
- 美团新服务落地加速 深圳南山一周两商圈启用无人机配送
- 天天短讯!中级经济师补考查分后 张宁老师微博报喜不断!快来围观!
- 五一期间全国营业性演出票房15.19亿 同比2019年增长18.4%
- 比亚迪前4月新能源汽车销量累计76万辆,长城证券设立资产管理子公司获批复
- 天天最资讯丨【陕西】取经不怕山路远 参观实训求真知
- 教育股午后走强 中公教育直线拉升涨超7%
- 京东将建“青年城”为员工提供近4000套公寓,刘强东拿出百亿设立住房保障基金,曾因参观员工宿舍气得想打人 天天观热点
- 童年 主要内容概括100字作文_童年 主要内容概括100字-焦点速递
- 世界热消息:北京菜百黄金价格今天多少一克(2023年05月04日)
- 德邦证券给予瑞联新材买入评级,一季度业绩承压,静待需求复苏
- 格力电器股价盘中触及跌停 2022年第四季度净利润同比减16.40%
- 焦点速讯:暴雨蓝色预警:9省将现大到暴雨 安徽江西等地部分地区有大暴雨
- 光大银行:服务实体经济质效提升 一季度经营实现平稳开局
- 岁月流逝在不经意中 天天热头条
- 深圳推出联乘服务助力旅客顺畅回家 天天讯息
- 记者调查:“低价×日游”都有哪些“坑”? 微资讯
- 每日时讯!海口入选2023年促进跨境贸易便利化专项行动城市
- 为你点赞!北京青年的闪亮青春-天天热资讯
- maths用英语怎么读?语音_maths用英语怎么读_焦点报道
- 李冰冰的真实年龄_李冰冰真实年龄_焦点快播
- ADG-170 星鸦 战斗攻击机
- 逆止器工作原理视频_逆止器
- 70元游荷花世界不见荷花只见垃圾具体是什么情况
- “五一”假期北京部分老字号营收恢复至疫前水平-环球热闻
- 环球热议:计提个人所得税会计分录例题_计提个人所得税会计分录
- 三字经全文带拼音完整可打印 老三字经全文带拼音
- 为牡丹吹空调 河南洛阳采用低温技术延长花期
- 私立华联怎么样录取线环境|天天滚动
- 微软首席科学官反驳马斯克:AI开发应加速而非暂停
- 大宇资讯在孟买设印度总部 今年将投资上亿新台币在印巴推首款手游 世界短讯
- 如何把ppt转换成pdf在线_如何把ppt转换成pdf 观点
- 山东青州按企业需求精准匹配人才
- 于洪新城两类户型实探:现房/准现房,均价14000元/平_世界快资讯
- 不愿放弃中心城区的改善族,要珍惜每一次权衡的机会
- 世界实时:钼靶材概念上市公司一览(2023/5/3)
- 如龙维新极 steam_如龙维新|每日消息
- 世界今日讯!“低空经济”为背包减负 无人机将外卖送进景区
- 天天播报:多彩假期活动丰富 节日消费持续升温
- 鲜竹沥口服液功效与作用_鲜竹沥口服液功效
- 头条:发电之余供暖供汽、淡化海水 持续扩围的核能综合利用能走多远
- 天天即时:留意!今晚上海地铁2号线虹桥火车站加班车延伸运营至明日1点30分,什么原因?
- 【预制菜相关企业排名】四季度股票净利率排行榜一览 每日热讯
- 绵阳市地方税务局_关于绵阳市地方税务局介绍
- 诸葛抽签算命一卦_免费抽签算命每日一卦|看点
- 巴甲老牌劲旅第三次选用前中国俱乐部主帅 每日热点
- 热门看点:中国海军完成撤离中国在苏丹人员任务 基本信息讲解
- 华晨宇火星演唱会·成都站开启3天狂欢模式
- 【劳动者最美】高速交警王奎:在高速公路上砥砺前行
- 对话《太行娘亲》导演王青:把活生生的人物树立在舞台上 全球新消息
- 正值假期,快来看看金山这里藏着哪些好玩的露营点吧!
- StatCounter:微软Win11四月份额达23.11%,增长2.16%
- 悉的拼音_悉的拼音及组词
- 曲辕犁工作原理视频_曲辕犁 全球微头条
- 今日热搜:孕早期拉肚子吃什么可以缓解_拉肚子吃什么食物可以缓解
- 扁上凯道为儿入狱请愿 蔡碧仲不回应
- 天天报道:【原耽双男主小说推荐】《宣布退役后……我多了个残疾壮汉老婆》by太胖啦跑不动
- 无帝76人擒绿军1-0 哈登炸裂45分双探花合砍62分
- 奥特曼的奥特手镯,都有什么样的功能?有的功能单一,有的逆天
- 要闻:摩根大通收购美国第一共和银行
- 山东省内旅游好去处-山东冬季旅游好去处|快看点
- 当前资讯!因地制宜提高农业机械化水平
- 好心情作文开头结尾500字六年级-好心情作文开头
- 泰国给了缅甸一个福利政策,但妙瓦底战事不断,福利变忧虑 天天观天下
- 速讯:harper_seven及beckham
- 今日13的网络语言_13是什么意思网络语言
- 登山者回应珠穆朗玛峰凌晨2点还在堵:系误传|全球球精选
- 晒黑皮肤怎样变白_这些小技巧可以帮你
- 奉天省造老银元价格(2023年05月01日)-世界热议
- 焦点资讯:白天游览溶洞一眼亿年 夜晚神奇音效“别有洞听”
- 全球最资讯丨伊朗法院裁定:美方“涉恐”,需赔偿超3亿美元
- 三国系统小说1000章(三国系统小说) 天天即时
- “港车北上”6月1日起接受申请,7月1日起可驶入广东
- 同比增长302% 广汽埃安4月销量4.1万辆
- 劳动之美 奋斗之光
- 江苏苏州:沪苏湖铁路跨太浦河大桥成功合龙
- 真相大白!易建联退役悬念尘埃落定,亮相新岗位,暂别中国男篮|环球快消息
- 全球速读:国铁今日预计发送1600万人次 开行旅客列车10815列
- 橡木门价格贵还是实木门价格贵_橡木实木门价格
- 环球看点!声光报警器安装高度_声光报警器安装规范
- 天天即时:怎样设置电脑的无线网络连接(怎样设置电脑的无线网络)
- 说最狂的话挨最毒的打!遭湖人黑七狂屠40分!西部第1伪强队诞生
- 环球微动态丨缴纳基数是什么意思_缴纳基数解释
- 新华全媒+|“五一”文明旅游 一道靓丽风景
- 世界资讯:“五一”假期第二天全国道路交通总体平稳有序
精彩推荐
-
今日热文:PHP哈希表碰撞攻击原理2023-05-05
-
天气预报|重庆市气象台发布暴雨IV级预警 5日夜间起中东部将有大到暴雨 环球聚看点2023-05-05
-
在青春的赛道上奋力奔跑,杨浦青年特警展风采 热门2023-05-05
-
重庆市青少年轮滑冰球冠军赛落下帷幕2023-05-04
-
曹县侯集回族镇和谐村志愿服务队_对于曹县侯集回族镇和谐村志愿服务队简单介绍 全球播报2023-05-04
-
环球即时看!海底捞回应菠菜虫卵 不看后悔2023-05-04
-
优化政务服务 乐东公布第一批“视频办”服务事项清单|快播2023-05-04
-
10个红包制作灯笼图解视频教程(30个红包制作灯笼图解) 世界热讯2023-05-04
-
三星宣布推出一款具有更好睡眠健身和安全功能的UI 5手表 天天短讯2023-05-04
-
全球微动态丨吉林2023上半年普通高中学业水平合格性考试时间及科目2023-05-04
-
sus420什么材质(sus420)_世界观天下2023-05-04
-
煤城建设2023-05-04
-
北交所龙虎榜|锦好医疗今日大涨23.11%,卖一净卖出554.26万元2023-05-04
-
中原银行新乡分行:开展五一节前暨新提聘、岗位调整人员集体廉政谈话 全球速讯2023-05-04
-
全球新资讯:4月新势力销量出炉,理想汽车为何那么火?2023-05-04
-
每日热门:院校评分在哪查询排名 高考主要看分数还是排位?2023-05-04
-
美团新服务落地加速 深圳南山一周两商圈启用无人机配送2023-05-04
-
天天短讯!中级经济师补考查分后 张宁老师微博报喜不断!快来围观!2023-05-04
-
五一期间全国营业性演出票房15.19亿 同比2019年增长18.4%2023-05-04
-
比亚迪前4月新能源汽车销量累计76万辆,长城证券设立资产管理子公司获批复2023-05-04
-
天天最资讯丨【陕西】取经不怕山路远 参观实训求真知2023-05-04
-
教育股午后走强 中公教育直线拉升涨超7%2023-05-04
-
童年 主要内容概括100字作文_童年 主要内容概括100字-焦点速递2023-05-04
-
世界热消息:北京菜百黄金价格今天多少一克(2023年05月04日)2023-05-04
-
德邦证券给予瑞联新材买入评级,一季度业绩承压,静待需求复苏2023-05-04
-
格力电器股价盘中触及跌停 2022年第四季度净利润同比减16.40%2023-05-04
-
焦点速讯:暴雨蓝色预警:9省将现大到暴雨 安徽江西等地部分地区有大暴雨2023-05-04
-
光大银行:服务实体经济质效提升 一季度经营实现平稳开局2023-05-04
-
岁月流逝在不经意中 天天热头条2023-05-04
-
深圳推出联乘服务助力旅客顺畅回家 天天讯息2023-05-04
-
记者调查:“低价×日游”都有哪些“坑”? 微资讯2023-05-04
-
每日时讯!海口入选2023年促进跨境贸易便利化专项行动城市2023-05-04
-
为你点赞!北京青年的闪亮青春-天天热资讯2023-05-04
-
maths用英语怎么读?语音_maths用英语怎么读_焦点报道2023-05-04
-
李冰冰的真实年龄_李冰冰真实年龄_焦点快播2023-05-04
-
ADG-170 星鸦 战斗攻击机2023-05-04
-
逆止器工作原理视频_逆止器2023-05-04
-
70元游荷花世界不见荷花只见垃圾具体是什么情况2023-05-03
-
“五一”假期北京部分老字号营收恢复至疫前水平-环球热闻2023-05-03
-
环球热议:计提个人所得税会计分录例题_计提个人所得税会计分录2023-05-03
-
三字经全文带拼音完整可打印 老三字经全文带拼音2023-05-03
-
为牡丹吹空调 河南洛阳采用低温技术延长花期2023-05-03
-
私立华联怎么样录取线环境|天天滚动2023-05-03
-
微软首席科学官反驳马斯克:AI开发应加速而非暂停2023-05-03
-
大宇资讯在孟买设印度总部 今年将投资上亿新台币在印巴推首款手游 世界短讯2023-05-03
-
如何把ppt转换成pdf在线_如何把ppt转换成pdf 观点2023-05-03
-
山东青州按企业需求精准匹配人才2023-05-03
-
于洪新城两类户型实探:现房/准现房,均价14000元/平_世界快资讯2023-05-03
-
不愿放弃中心城区的改善族,要珍惜每一次权衡的机会2023-05-03
-
世界实时:钼靶材概念上市公司一览(2023/5/3)2023-05-03
-
如龙维新极 steam_如龙维新|每日消息2023-05-03
-
世界今日讯!“低空经济”为背包减负 无人机将外卖送进景区2023-05-03
-
天天播报:多彩假期活动丰富 节日消费持续升温2023-05-03
-
鲜竹沥口服液功效与作用_鲜竹沥口服液功效2023-05-03
-
头条:发电之余供暖供汽、淡化海水 持续扩围的核能综合利用能走多远2023-05-03
-
天天即时:留意!今晚上海地铁2号线虹桥火车站加班车延伸运营至明日1点30分,什么原因?2023-05-03
-
【预制菜相关企业排名】四季度股票净利率排行榜一览 每日热讯2023-05-03
-
绵阳市地方税务局_关于绵阳市地方税务局介绍2023-05-03
-
诸葛抽签算命一卦_免费抽签算命每日一卦|看点2023-05-02
-
巴甲老牌劲旅第三次选用前中国俱乐部主帅 每日热点2023-05-02
-
热门看点:中国海军完成撤离中国在苏丹人员任务 基本信息讲解2023-05-02
-
华晨宇火星演唱会·成都站开启3天狂欢模式2023-05-02
-
【劳动者最美】高速交警王奎:在高速公路上砥砺前行2023-05-02
-
对话《太行娘亲》导演王青:把活生生的人物树立在舞台上 全球新消息2023-05-02
-
正值假期,快来看看金山这里藏着哪些好玩的露营点吧!2023-05-02
-
StatCounter:微软Win11四月份额达23.11%,增长2.16%2023-05-02
-
悉的拼音_悉的拼音及组词2023-05-02
-
曲辕犁工作原理视频_曲辕犁 全球微头条2023-05-02
-
今日热搜:孕早期拉肚子吃什么可以缓解_拉肚子吃什么食物可以缓解2023-05-02
-
扁上凯道为儿入狱请愿 蔡碧仲不回应2023-05-02
-
天天报道:【原耽双男主小说推荐】《宣布退役后……我多了个残疾壮汉老婆》by太胖啦跑不动2023-05-02
-
无帝76人擒绿军1-0 哈登炸裂45分双探花合砍62分2023-05-02
-
奥特曼的奥特手镯,都有什么样的功能?有的功能单一,有的逆天2023-05-02
-
要闻:摩根大通收购美国第一共和银行2023-05-02
-
山东省内旅游好去处-山东冬季旅游好去处|快看点2023-05-02
-
当前资讯!因地制宜提高农业机械化水平2023-05-02
-
好心情作文开头结尾500字六年级-好心情作文开头2023-05-02
-
泰国给了缅甸一个福利政策,但妙瓦底战事不断,福利变忧虑 天天观天下2023-05-02
-
速讯:harper_seven及beckham2023-05-01
-
今日13的网络语言_13是什么意思网络语言2023-05-01
-
登山者回应珠穆朗玛峰凌晨2点还在堵:系误传|全球球精选2023-05-01
-
晒黑皮肤怎样变白_这些小技巧可以帮你2023-05-01
-
奉天省造老银元价格(2023年05月01日)-世界热议2023-05-01
-
焦点资讯:白天游览溶洞一眼亿年 夜晚神奇音效“别有洞听”2023-05-01
-
全球最资讯丨伊朗法院裁定:美方“涉恐”,需赔偿超3亿美元2023-05-01
-
三国系统小说1000章(三国系统小说) 天天即时2023-05-01
-
“港车北上”6月1日起接受申请,7月1日起可驶入广东2023-05-01
-
同比增长302% 广汽埃安4月销量4.1万辆2023-05-01
-
劳动之美 奋斗之光2023-05-01
-
江苏苏州:沪苏湖铁路跨太浦河大桥成功合龙2023-05-01
-
真相大白!易建联退役悬念尘埃落定,亮相新岗位,暂别中国男篮|环球快消息2023-05-01
-
全球速读:国铁今日预计发送1600万人次 开行旅客列车10815列2023-05-01
-
橡木门价格贵还是实木门价格贵_橡木实木门价格2023-05-01
-
环球看点!声光报警器安装高度_声光报警器安装规范2023-05-01
-
天天即时:怎样设置电脑的无线网络连接(怎样设置电脑的无线网络)2023-05-01
-
说最狂的话挨最毒的打!遭湖人黑七狂屠40分!西部第1伪强队诞生2023-05-01
-
环球微动态丨缴纳基数是什么意思_缴纳基数解释2023-05-01
-
新华全媒+|“五一”文明旅游 一道靓丽风景2023-04-30
-
世界资讯:“五一”假期第二天全国道路交通总体平稳有序2023-04-30