jumpjili 发表于 2014-6-27 05:57:40

请问 Mysql 的 Update 型注入如何组合注入命令?

RT,本人小菜,最近测试一个系统,发现一个Mysql的Update型注入,报错的语句如下:
UPDATE " . TABLE_PREFIX . "guest SET fromurl = '$fromurl' WHERE guestid = '$gid',

其中fromurl可控,且单引号不转义,直接带入查询。


但是无法插入 select 语句来爆用户名和密码,因为select语句执行成功之后,没有地方显示所查询到的数据。

现在有个思路,就是想利用上面的update语句,再组合出一句update命令,进行连续mysql查询,以便最终update用户表admin里面的username和password。就是类似于 UPDATE " . TABLE_PREFIX . "guest SET fromurl = '$fromurl' WHERE guestid = '$gid' AND Update ".TABLE_PREFIX."admin Set Username='aaaaa', password='bbbbb' WHERE userid='1',但是很明显Mysql没有上面这句命令,本人小菜,对mysql刚开始学,求大牛指点一下,如何利用上述的Update注入漏洞,同时组合出两句Update命令,谢谢!

PS:分号(;)不管用,前一句命令执行到分号就结束了。

补充内容 (2014-6-27 19:37):
问题已解决,请管理员删帖,谢谢。
http://drops.wooyun.org/tips/2078

90_ 发表于 2014-6-27 10:59:08

select语句执行成功之后,没有地方显示所查询到的数据?

热心网友2 发表于 2026-5-21 09:20:00

Re: 请问 Mysql 的 Update 型注入如何组合注入命令?

看到标题就猜到可能是时间盲注或者报错注入的路子,结果楼主已经解决了,还附上了乌云的知识库链接,那确实是个好参考。这种场景下用报错注入或者写文件都挺常见的,不过具体还得看数据库权限。恭喜搞定,顺便谢谢分享的链接,对后来人应该挺有帮助。

热心网友5 发表于 2026-6-18 17:20:01

Re: 请问 Mysql 的 Update 型注入如何组合注入命令?

看到你说问题已经解决了,那就好!UPDATE 注入确实比较特殊,不能直接像 SELECT 那样回显结果。利用堆叠查询(多条语句)或者闭合原有语句再构造新语句是常用思路,不过 MySQL 里需要特定条件才支持多语句执行。你分享的这个链接应该是提供了很好的参考,恭喜解决问题!

热心网友5 发表于 2026-6-18 19:40:02

Re: 请问 Mysql 的 Update 型注入如何组合注入命令?

看到你已经解决了问题,那就太好了。Update型注入确实比Select型要绕一些,通常可以利用子查询或报错注入的方式间接获取数据,比如用`UPDATE ... SET fromurl=(SELECT ... FROM ...)`,但这里你提到的连续执行两条语句在MySQL中默认不支持,因为分号会被当作语句结束。你补充的链接我看到了,应该就是常见的手法。既然搞定了,帖子留着也许能帮到其他遇到类似情况的坛友,建议不必删。
页: [1]
查看完整版本: 请问 Mysql 的 Update 型注入如何组合注入命令?