在mysql中,支持16进制编码。
二次注入就是先插入攻击语句,插入的过程中就会被执行,然后某些页面会展示执行后的内容。
??举个例子:假如在注册用户的时候,需要填用户名、邮箱和密码,登录使用邮箱和密码,登陆上去后会显示用户名,后台为什么知道你的用户名,就可能是使用SQL语句,通过你的邮箱和密码查询到用户名。假如用户名是SQL语句,会在插入的时候就执行SQL语句,然后显示。这就是二次注入的基本原理。
创建一般是insert
语句,更新用update
语句。
填写表单,保存数据默认会更新所有数据。
黑盒角度挖二次注入:直接在框里插入user()
,注意闭合符号。
本质:服务器先执行SQL语句,再通过load_file
这个函数远程访问DNSlog平台,然后SQL查询的结果会显示到DNSlog平台上。
SQL注入中基本上用不着(sql注入需要支持
load_file
这个函数),某k真辣鸡,整这么些花里胡哨的。
应用程序:解决不回显、反向连接(DNS协议一般不被禁用)、SQL注入、命令执行、SSRF等