成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個(gè)HTTP請(qǐng)求,把網(wǎng)站打裂開了!

開發(fā) 前端
今天給大家看一段神奇的代碼。利用這幾行神奇的代碼,居然能把網(wǎng)站打崩潰,這是怎么一回事呢?就是下面這個(gè)函數(shù),根據(jù)傳進(jìn)來的開始和結(jié)束位置,讀取文件數(shù)據(jù)。

 [[432030]]

今天給大家看一段神奇的代碼。

利用這幾行神奇的代碼,居然能把網(wǎng)站打崩潰,這是怎么一回事呢?

就是下面這個(gè)函數(shù),根據(jù)傳進(jìn)來的開始和結(jié)束位置,讀取文件數(shù)據(jù): 

  1. char* Read(int fd, int start, int end) {  
  2.     unsigned int length = end - start + 1;  
  3.     if (length > 1024)  
  4.         return NULL;  
  5.     return ReadFile(fd, start, end);  

函數(shù)中最大只支持一次讀取1024個(gè)字節(jié),所以增加了一個(gè)判斷邏輯。

現(xiàn)在請(qǐng)大家思考一下,這個(gè)函數(shù)有沒有什么問題?

---思---

---考---

---5---

---秒---

---鐘---

來思考一下,假設(shè)我像這樣來調(diào)用這個(gè)函數(shù): 

  1. Read(0, 0, 4294967295); 

會(huì)發(fā)生什么事呢?

你可能已經(jīng)注意到了,這里傳了一個(gè)很特殊的參數(shù)過去,這個(gè)數(shù)乍一看很大,遠(yuǎn)遠(yuǎn)超過了1024,按理說會(huì)通不過函數(shù)內(nèi)部的檢查對(duì)吧?

但事情不是這么簡(jiǎn)單,這個(gè)特殊的數(shù)字——4294967295,是32位無符號(hào)整數(shù)所能表示的最大范圍。

但是請(qǐng)注意Read這個(gè)函數(shù)的參數(shù),start和end都是int型變量,把4294967295傳遞給end的時(shí)候,會(huì)被當(dāng)作有符號(hào)的整數(shù)解析,也就是 -1 !

現(xiàn)在來看Read函數(shù)中計(jì)算長度的這行代碼: 

  1. unsigned int length = end - start + 1; 

計(jì)算結(jié)果就是-1 - 0 + 1 = 0!

length的結(jié)果會(huì)是0!

很自然逃過了下面對(duì)長度的檢查: 

  1. if (length > 1024)  
  2.     return NULL; 

上面這段代碼不只是一個(gè)假想的模型,實(shí)際上,它曾經(jīng)真實(shí)存在過!

它的漏洞編號(hào)是:CVE-2015-1635。

這是一個(gè)微軟的互聯(lián)網(wǎng)服務(wù)器IIS中的一個(gè)漏洞,更要命的是,這個(gè)漏洞位于IIS處理HTTP請(qǐng)求的HTTP.sys驅(qū)動(dòng)程序中。

你知道的,驅(qū)動(dòng)程序是運(yùn)行在操作系統(tǒng)內(nèi)核之中,一旦內(nèi)核驅(qū)動(dòng)執(zhí)行出現(xiàn)異常,那后果,輕則藍(lán)屏崩潰,重則直接被攻擊者遠(yuǎn)程執(zhí)行代碼,控制服務(wù)器!

在HTTP 1.1版本的協(xié)議中,可以通過請(qǐng)求頭中的Range字段,請(qǐng)求或上傳指定資源的部分內(nèi)容,比如像這樣: 

  1. GET /bg-upper.png HTTP/1.1  
  2. User-Agent: curl/7.35.0  
  3. Host: 127.0.0.1:8180 
  4. Accept: */*  
  5. Range: bytes=0-10 

其中的Range字段格式如下:

Range: bytes=start-end

微軟的IIS為了提高性能,將HTTP協(xié)議的解析放在了內(nèi)核驅(qū)動(dòng)HTTP.sys中實(shí)現(xiàn)。

而其中對(duì)range字段的處理,就存在我們文章開頭的那個(gè)邏輯錯(cuò)誤,不同的是,我們上面的那個(gè)示例是一個(gè)32位整數(shù)的版本,而IIS這個(gè)真實(shí)的漏洞是64位整數(shù)產(chǎn)生的問題,但原理是一樣的。

通過向存在漏洞的IIS服務(wù)器發(fā)送對(duì)應(yīng)的HTTP請(qǐng)求,即可將目標(biāo)服務(wù)器打藍(lán)屏,實(shí)現(xiàn)DOS——拒絕服務(wù)攻擊。

這種攻擊方式就是——整數(shù)溢出攻擊。

接下來,咱們?cè)诖罱ㄒ粋€(gè)環(huán)境來驗(yàn)證一下。

在虛擬機(jī)中搭建一個(gè)IIS7的Web服務(wù)器:

64位無符號(hào)整數(shù)能表示的最大數(shù)是:18446744073709551615,通過向服務(wù)器發(fā)送包含range參數(shù)的請(qǐng)求,有很大可能會(huì)導(dǎo)致服務(wù)器藍(lán)屏。

使用神器metasploit來利用這個(gè)漏洞發(fā)起攻擊:

現(xiàn)在來看,服務(wù)器已經(jīng)掛了:

為什么是很大可能,而不是一定藍(lán)屏呢,如何實(shí)現(xiàn)穩(wěn)定把服務(wù)器打藍(lán)屏呢?這就需要進(jìn)一步了解這個(gè)漏洞更詳細(xì)的情況。

實(shí)際上這個(gè)漏洞原理比文章開頭的那個(gè)邏輯要更復(fù)雜一些,這里只是做了一個(gè)簡(jiǎn)單入門介紹,關(guān)于這個(gè)漏洞的更詳細(xì)情況,大家可以看一下360大神MJ0011當(dāng)年寫的一篇技術(shù)分析(PS:有點(diǎn)硬核,想要看懂得反復(fù)多看幾次):

《MS15-034/CVE-2015-1635 HTTP遠(yuǎn)程代碼執(zhí)行漏洞分析》

 https://blogs.360.cn/post/cve_2015_6135_http_rce_analysis.html

我們平時(shí)在編程的時(shí)候,一定要注意變量的數(shù)據(jù)類型,特別是涉及到數(shù)據(jù)類型轉(zhuǎn)換的地方要格外留神。比如符號(hào)數(shù)與無符號(hào)數(shù)的互轉(zhuǎn),32位整數(shù)和64位整數(shù)的轉(zhuǎn)換等等。

在處理外界傳入的參數(shù)處理時(shí),要慎之又慎,一個(gè)小小的變量類型可能就會(huì)給服務(wù)器計(jì)算機(jī)造成毀滅性打擊。 

 

責(zé)任編輯:龐桂玉 來源: 良許Linux
相關(guān)推薦

2020-11-19 06:55:39

微信表情移動(dòng)應(yīng)用

2020-10-20 14:01:16

HTTP

2017-11-02 11:05:20

HTTP網(wǎng)站HTTPS網(wǎng)站免費(fèi)

2022-04-08 08:26:03

JavaHTTP請(qǐng)求

2024-11-19 08:36:16

2013-11-01 10:23:37

Web程序

2018-01-23 12:03:57

阿里雙11超級(jí)工程

2019-12-20 09:31:23

TCPHTTP瀏覽器

2019-05-29 15:17:43

TCPHTTPSSL

2018-07-30 16:31:00

javascriptaxioshttp

2015-07-28 10:19:27

創(chuàng)業(yè)邦雜志

2019-07-09 06:13:09

TCPHTTP網(wǎng)絡(luò)協(xié)議

2021-09-26 15:59:47

支付寶移動(dòng)應(yīng)用

2021-12-14 09:00:42

Swift HTTP 代理服務(wù)器

2024-04-29 13:05:00

AI自動(dòng)駕駛

2021-06-24 06:00:51

EleventyJavaScript靜態(tài)網(wǎng)站

2022-03-24 14:49:57

HTTP前端

2021-07-20 10:30:46

Golanghttp語言

2020-05-27 14:07:56

HTTPServer編譯器

2020-07-09 14:57:24

HTTP瀏覽器協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: www.国产| 黄色在线观看国产 | 成人夜晚看av | 日韩看片| 国产精品久久久久久久午夜片 | 欧美一a | 九九视频在线观看视频6 | 国产福利91精品一区二区三区 | 亚洲一区二区av | 精品国产免费一区二区三区五区 | 中日韩欧美一级片 | 日本特黄a级高清免费大片 特黄色一级毛片 | 日韩视频在线免费观看 | 国产在线一区二区 | 久久夜视频 | 四虎影院美女 | 久久大| 精品久久精品 | 国产精品视频播放 | 欧美一级视频免费看 | 国产一级网站 | 国产精品久久久久aaaa | h在线| 色爱区综合 | 国产日韩一区二区三免费高清 | 99久久久99久久国产片鸭王 | 亚洲成人免费视频在线观看 | 91传媒在线观看 | 日韩成人av在线 | 中文字幕不卡在线观看 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 91精品久久久久久综合五月天 | 欧美大片一区 | 久久机热| 久久一区视频 | 亚洲精品一区久久久久久 | 亚洲人免费视频 | 在线日韩精品视频 | 综合九九 | 黄网站在线观看 | 91福利在线观看 |