91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何針對(duì)Mysql漏洞測(cè)試您自己的Web服務(wù)器

454398 ? 來(lái)源:wv ? 2019-09-26 15:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:設(shè)置測(cè)試環(huán)境

要測(cè)試代碼,您應(yīng)該設(shè)置一個(gè)測(cè)試環(huán)境??梢栽谟?jì)算機(jī)上使用xampp或lampp完成此操作。當(dāng)然,您可以自己用php設(shè)置一個(gè)Apache網(wǎng)絡(luò)服務(wù)器。

您將需要一個(gè)網(wǎng)絡(luò)服務(wù)器,一個(gè)mysql數(shù)據(jù)庫(kù)和一個(gè)運(yùn)行中的php解釋器來(lái)執(zhí)行代碼。

步驟2:示例數(shù)據(jù)庫(kù)

對(duì)于我們的測(cè)試案例,我們使用一個(gè)非常基本的數(shù)據(jù)庫(kù),其中有兩個(gè)用戶(hù)。使用md5算法保護(hù)密碼。只需在數(shù)據(jù)庫(kù)上運(yùn)行以下mysql代碼即可創(chuàng)建表:

SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”;

SET AUTOCOMMIT = 0;

START TRANSACTION;

SET time_zone = “+00:00”;

CREATE TABLE IF NOT EXISTS `user` (

`id` bigint(15) NOT NULL,

`email` varchar(255) NOT NULL,

`password` varchar(32) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

INSERT INTO `user` (`id`, `email`, `password`) VALUES

(1, ‘admin@mysite.com’, ‘b655e3f4ae881514c4896b9cd707e4d2’),

(2, ‘guest@mysite.com’, ‘5d41402abc4b2a76b9719d911017c592’);

ALTER TABLE `user`

ADD PRIMARY KEY (`id`);

ALTER TABLE `user`

MODIFY `id` bigint(15) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;COMMIT;

步驟3:關(guān)于密碼安全性的簡(jiǎn)短介紹

全世界的計(jì)算能力正在飛速增長(zhǎng),md5不再是強(qiáng)大的哈希算法。所使用的哈希是使用以下密碼生成的:

b655e3f4ae881514c4896b9cd707e4d2 = top secret password that will never be cracked that fast

5d41402abc4b2a76b9719d911017c592 = hello

由于存在彩虹表之類(lèi)的東西,即使google本身也是一個(gè)很好的密碼破解機(jī)。當(dāng)您搜索“ 5d41402abc4b2a76b9719d911017c592”時(shí),第一個(gè)結(jié)果是明文密碼。當(dāng)您在Google中搜索“ b655e3f4ae881514c4896b9cd707e4d2”時(shí),由于輸入字符串太長(zhǎng)而無(wú)法使用蠻力方法破解,因此您將不會(huì)獲得任何結(jié)果。

因此:請(qǐng)使用在任何詞典中都不會(huì)出現(xiàn)的長(zhǎng)密碼!/p》

步驟4:示例代碼

如何針對(duì)Mysql漏洞測(cè)試您自己的Web服務(wù)器

出于測(cè)試原因,我編寫(xiě)了這個(gè)小腳本。它打開(kāi)一個(gè)數(shù)據(jù)庫(kù)連接,提供一個(gè)表單,并嘗試在數(shù)據(jù)庫(kù)中查找與您輸入的憑據(jù)(電子郵件和密碼)匹配的用戶(hù)。只需將腳本保存在Web服務(wù)器上,然后將文件命名為“ mysql-injection.php”即可。當(dāng)數(shù)據(jù)庫(kù)名稱(chēng)不同時(shí),可能必須為“ mysql_select_db”函數(shù)更新數(shù)據(jù)庫(kù)名稱(chēng):

error_reporting(E_ALL ^ E_DEPRECATED);

mysql_connect(‘localhost’, ‘root’, ‘’);

mysql_select_db(‘mysql-injection’);

if (!empty($_POST[‘email’]) && !empty($_POST[‘password’]))

{

$query = ‘SELECT * FROM `user` WHERE `email` = \’‘.$_POST[’email‘]?!痋‘ AND `password` = \’‘.md5($_POST[’password‘])。’\‘’;

echo ‘Used query: ’,$query,‘’;

$resource = mysql_query($query);

$matches = mysql_num_rows($resource);

if ($matches 》 0)

{

$user = mysql_fetch_assoc($resource);

echo ‘Hello ’.$user[‘email’]。‘!’;

}

else

{

echo ‘Invalid credentials!’;

}

}

?》

Log in to get privileges!

Mail:

Password:

步驟5:測(cè)試腳本

要開(kāi)始使用,只需在Web瀏覽器上調(diào)用腳本即可。在我的情況下,該網(wǎng)址為http://sand.box:8081/mysql-injection.php,因?yàn)槲覍ⅰ?sand.box”路由為“ 127.0.0.1”。您只需調(diào)用http://sand.box:8081/mysql-injection.php或http://sand.box:8081/mysql-injection.php即可使其正常工作。

我們現(xiàn)在可以使用以下憑據(jù)測(cè)試登錄:

admin@mysite.com:top secret password that will never be cracked that fast

guest@mysite.com:hello

如您在屏幕快照中所見(jiàn),腳本返回“ Hello ”以證明您的登錄憑據(jù)正確。使用任何其他組合可獲得“無(wú)效的憑據(jù)!”錯(cuò)誤。

這是有效的用戶(hù)身份驗(yàn)證。但是它非常危險(xiǎn)。請(qǐng)查看下一步,了解原因。

步驟6:幕后花絮

由于腳本輸出了用于選擇正確用戶(hù)的數(shù)據(jù)庫(kù)查詢(xún),因此您可以看到背后發(fā)生了什么現(xiàn)場(chǎng)。當(dāng)您以管理員身份登錄時(shí),以下查詢(xún):

‘SELECT * FROM `user` WHERE `email` = \’‘.$_POST[’email‘]。’\‘ AND `password` = \’‘.md5($_POST[’password‘])。’\‘’

計(jì)算為:

‘SELECT * FROM `user` WHERE `email` = \’admin@mysite.com\‘ AND `password` = \’‘.md5(’top secret password that will never be cracked that fast‘)。’\‘’

,然后計(jì)算為:

‘SELECT * FROM `user` WHERE `email` = \’admin@mysite.com\‘ AND `password` = \’b655e3f4ae881514c4896b9cd707e4d2\‘’

,發(fā)送到mysql數(shù)據(jù)庫(kù)的是:

SELECT * FROM `user` WHERE `email` = ‘a(chǎn)dmin@mysite.com’ AND `password` = ‘b655e3f4ae881514c4896b9cd707e4d2’

因此,只需通過(guò)電子郵件地址和密碼選擇一個(gè)用戶(hù)。在這種情況下,這是對(duì)郵件驗(yàn)證的可靠期望。變量$ _POST [‘email’]在附加到查詢(xún)之前是不安全的,因此我們可以在此處注入很多邪惡的東西。 $ _POST [‘password’]變量在被隱式存儲(chǔ)到數(shù)據(jù)庫(kù)查詢(xún)之前被傳遞給md5(),因此這是“意外的安全”,因?yàn)閙d5()僅返回?cái)?shù)字和字符,沒(méi)有任何東西會(huì)使我們的查詢(xún)崩潰。 》

步驟7:破解!

正如我們?cè)谏弦徊街辛私獾降哪菢樱? _ POST [‘email’]是我們的后門(mén)。因此,當(dāng)您輸入以下電子郵件時(shí),您可以以所需的任何用戶(hù)身份登錄。對(duì)于ID為1的用戶(hù):

test@test.de‘ OR `id` = 1 OR 1 = ’

對(duì)于ID為2的用戶(hù):

test@test.de‘ OR `id` = 2 OR 1 = ’

如您所見(jiàn),使用的mysql查詢(xún)?nèi)缦拢?/p>

SELECT * FROM `user` WHERE `email` = ‘test@test.de’ OR `id` = 1 OR 1 = ‘’ AND `password` = ‘098f6bcd4621d373cade4e832627b4f6’

由于查詢(xún)中沒(méi)有括號(hào),因此我們可以通過(guò)在電子郵件中傳遞一個(gè)‘來(lái)停止字符串。之后,我們可以修改查詢(xún)本身。因此,我們僅添加另一個(gè)與用戶(hù)ID相關(guān)的“ OR”條件。這使電子郵件和密碼已過(guò)時(shí),因?yàn)橐坏?OR”條件為真,mysql就會(huì)停止檢查條件。因此,如果我們的數(shù)據(jù)庫(kù)中有一個(gè)ID為“ 1”的用戶(hù),我們便已登錄。

步驟8:保護(hù)您的代碼

要確保此代碼安全,只需轉(zhuǎn)義用戶(hù)輸入即可。例如,可以使用mysql_real_escape_string方法來(lái)完成此操作。另一個(gè)功能可能是斜杠。因此,“安全”解決方案將使用:

mysql_real_escape_string($_POST[’email‘])

而不是

$_POST[’email‘]

所以這是最終的php代碼:

$query = ’SELECT * FROM `user` WHERE `email` = \‘’.mysql_real_escape_string($_POST[‘email’])。‘\’ AND `password` = \‘’.md5($_POST[‘password’])。‘\’‘;

計(jì)算的查詢(xún)?yōu)椋?/p>

SELECT * FROM `user` WHERE `email` = ’test@test.de\‘ OR `id` = 1 OR 1 = \’‘ AND `password` = ’098f6bcd4621d373cade4e832627b4f6‘

因此,您可以看到,字符串中的單引號(hào)現(xiàn)在已轉(zhuǎn)義,不再結(jié)束mysql字符串。這將導(dǎo)致查詢(xún)搜索以下電子郵件地址:

test@test.de\’ OR `id` = 1 OR 1 = \‘

當(dāng)然,這將失敗,因?yàn)閿?shù)據(jù)庫(kù)中沒(méi)有匹配的電子郵件。

第9步:僅僅為了獲得一個(gè)想法

編寫(xiě)此指令是為了在一個(gè)非?;镜那闆r下獲得mysql注入的想法。在2015年,您不會(huì)自己編寫(xiě)php應(yīng)用程序,而是使用可以為您處理大部分安全性和數(shù)據(jù)庫(kù)內(nèi)容的框架和庫(kù)。但是您應(yīng)該知道在幕后發(fā)生了什么事,以便快速,安全地編寫(xiě)代碼。

例如,一個(gè)好的解決方案是使用symfony2框架。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Web服務(wù)器
    +關(guān)注

    關(guān)注

    0

    文章

    139

    瀏覽量

    25278
  • 漏洞
    +關(guān)注

    關(guān)注

    0

    文章

    205

    瀏覽量

    15958
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AI服務(wù)器電源測(cè)試新高度-艾諾EDPP測(cè)試解決方案解鎖高效能驗(yàn)證

    艾諾大功率直流電子負(fù)載AN23600C系列,主要針對(duì)服務(wù)器PSU、POWER SHIELF、RACK三級(jí)測(cè)試,從高速并機(jī)設(shè)計(jì)、低感設(shè)計(jì)、倍功率設(shè)計(jì)、散熱設(shè)計(jì)、場(chǎng)地布局等方面,有效解決服務(wù)器
    的頭像 發(fā)表于 02-13 12:03 ?456次閱讀
    AI<b class='flag-5'>服務(wù)器</b>電源<b class='flag-5'>測(cè)試</b>新高度-艾諾EDPP<b class='flag-5'>測(cè)試</b>解決方案解鎖高效能驗(yàn)證

    服務(wù)器電源的測(cè)試項(xiàng)目有哪些呢?

    服務(wù)器電源的應(yīng)用場(chǎng)景主要為工業(yè)級(jí)場(chǎng)景,因此服務(wù)器電源測(cè)試聚焦穩(wěn)定性、冗余容錯(cuò)、遠(yuǎn)程管理等關(guān)鍵需求,所以服務(wù)器電源的測(cè)試項(xiàng)目主要
    的頭像 發(fā)表于 12-26 19:26 ?277次閱讀
    <b class='flag-5'>服務(wù)器</b>電源的<b class='flag-5'>測(cè)試</b>項(xiàng)目有哪些呢?

    AI 服務(wù)器電源測(cè)試項(xiàng)目研究報(bào)告

    01項(xiàng)目背景隨著人工智能技術(shù)的飛速發(fā)展,AI服務(wù)器的需求急劇增加。電源作為AI服務(wù)器的關(guān)鍵組件,其性能直接影響服務(wù)器的穩(wěn)定性、可靠性和能源效率。因此,開(kāi)展AI服務(wù)器電源
    的頭像 發(fā)表于 12-16 10:22 ?722次閱讀
    AI <b class='flag-5'>服務(wù)器</b>電源<b class='flag-5'>測(cè)試</b>項(xiàng)目研究報(bào)告

    20個(gè)常用服務(wù)端口及對(duì)應(yīng)服務(wù)信息

    電子郵件。 (5) 端口號(hào):53 服務(wù)名稱(chēng):DNS 服務(wù)描述:域名系統(tǒng),用于將域名解析為與之對(duì)應(yīng)的IP地址。 (6) 端口號(hào):80 服務(wù)名稱(chēng):HTTP 服務(wù)描述:超文本傳輸協(xié)議,用
    發(fā)表于 12-03 06:07

    恒訊科技解析:如何在日本服務(wù)器上安裝和配置數(shù)據(jù)庫(kù)(如MySQL)?

    的業(yè)務(wù)部署日本服務(wù)器后,下一個(gè)關(guān)鍵步驟就是安裝和配置數(shù)據(jù)庫(kù)。無(wú)論是用于網(wǎng)站、應(yīng)用程序還是數(shù)據(jù)分析,一個(gè)穩(wěn)定高效的數(shù)據(jù)庫(kù)是業(yè)務(wù)的核心。恒訊科技將以最流行的MySQL為例,提供一份在日本服務(wù)器
    的頭像 發(fā)表于 11-04 11:07 ?688次閱讀

    如何快速在云服務(wù)器上部署Web環(huán)境?

    如何快速在云服務(wù)器上部署Web環(huán)境
    的頭像 發(fā)表于 10-14 14:16 ?683次閱讀

    如何使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 板上構(gòu)建 Web 服務(wù)器?

    使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 板上構(gòu)建 Web 服務(wù)器
    發(fā)表于 09-04 08:10

    如何使用 Mbed OS 在 NuMaker IoT 板上構(gòu)建 Web 服務(wù)器?

    使用 Mbed OS 在 NuMaker IoT 板上構(gòu)建 Web 服務(wù)器
    發(fā)表于 09-04 06:33

    怎樣在阿里ECS服務(wù)器上架設(shè)自己的OpenVPN服務(wù)器?

    需要自己架設(shè)服務(wù)器,讓現(xiàn)場(chǎng)的IR615路由連接自己服務(wù)器。能通過(guò)自己
    發(fā)表于 08-06 06:56

    如何配置Linux防火墻和Web服務(wù)器

    在當(dāng)今數(shù)字化時(shí)代,網(wǎng)絡(luò)安全顯得尤為重要。Linux作為一種開(kāi)源操作系統(tǒng),廣泛應(yīng)用于服務(wù)器管理和網(wǎng)絡(luò)配置中。本篇文章將詳細(xì)介紹如何配置Linux防火墻和Web服務(wù)器,確保內(nèi)網(wǎng)與外網(wǎng)的安全訪(fǎng)問(wèn)。同時(shí),我們將探討如何通過(guò)SSH遠(yuǎn)程管理
    的頭像 發(fā)表于 05-24 15:26 ?1899次閱讀
    如何配置Linux防火墻和<b class='flag-5'>Web</b><b class='flag-5'>服務(wù)器</b>

    樹(shù)莓派 VPN 服務(wù)器搭建指南(2025版):守護(hù)的在線(xiàn)隱私!

    VPN服務(wù)器(虛擬專(zhuān)用網(wǎng)絡(luò)服務(wù)器)是一種系統(tǒng),允許設(shè)備通過(guò)互聯(lián)網(wǎng)安全地連接到私有網(wǎng)絡(luò)。它在客戶(hù)端(如的筆記本電腦或手機(jī))與服務(wù)器之間創(chuàng)建一個(gè)加密隧道,保護(hù)
    的頭像 發(fā)表于 05-16 15:31 ?4045次閱讀
    樹(shù)莓派 VPN <b class='flag-5'>服務(wù)器</b>搭建指南(2025版):守護(hù)<b class='flag-5'>您</b>的在線(xiàn)隱私!

    新加坡服務(wù)器延遲大嗎?真相在這里#新加坡服務(wù)器 #服務(wù)器

    服務(wù)器
    jf_57681485
    發(fā)布于 :2025年04月18日 13:48:50

    針對(duì)未來(lái)#AI服務(wù)器 發(fā)展,#思瑞浦 有哪些前瞻性產(chǎn)品布局

    服務(wù)器
    思瑞浦3PEAK
    發(fā)布于 :2025年03月28日 18:11:18

    Ubuntu 系統(tǒng)部署 Caddy Web 服務(wù)器全攻略!

    本文將以簡(jiǎn)明教程形式,指導(dǎo)您在Ubuntu系統(tǒng)上安裝并運(yùn)行新一代Web服務(wù)器Caddy。相比傳統(tǒng)Nginx與Apache,Caddy憑借兩大核心優(yōu)勢(shì)脫穎而出:原生HTTPS自動(dòng)證書(shū)管理能力與極簡(jiǎn)反向
    的頭像 發(fā)表于 03-25 09:19 ?1063次閱讀
    Ubuntu 系統(tǒng)部署 Caddy <b class='flag-5'>Web</b> <b class='flag-5'>服務(wù)器</b>全攻略!

    DeepSeek企業(yè)級(jí)部署服務(wù)器資源計(jì)算 以raksmart裸機(jī)云服務(wù)器為例

    以RakSmart裸機(jī)云服務(wù)器為例,針對(duì)DeepSeek企業(yè)級(jí)部署的服務(wù)器資源計(jì)算指南,涵蓋GPU/CPU/內(nèi)存/存儲(chǔ)/網(wǎng)絡(luò)等核心維度的詳細(xì)計(jì)算方法與配置推薦,主機(jī)推薦小編為整理發(fā)布
    的頭像 發(fā)表于 03-21 10:17 ?1095次閱讀