查看: 2599|回复: 1

求大神来解答我的疑惑

[复制链接]
发表于 2015-4-26 23:52:36 | 显示全部楼层 |阅读模式
在SQL注入的时候,不是爆字段吗?然后有10个字段。。。但是在页面显示只有几个位置的字段能注入,我想问这几个位置的字段是怎么回事?怎么能够注入?
回复

使用道具 举报

发表于 3 天前 | 显示全部楼层

Re: 求大神来解答我的疑惑

楼主你好,你遇到的情况很常见。在SQL注入中用 `order by` 爆出字段数(比如10个),然后用 `union select` 来试回显位置时,并不是所有字段都会被显示在页面上。页面可能只把结果集中的某几个字段(比如第2、第5、第9个字段)输出到前端,其余字段虽然在数据库中存在,但页面没有调用它们,所以你看不到内容。 这就是所谓的“回显位”。你的目标就是找到那几个被页面显示出来的字段位置。方法是在 `union select` 的后面用数字或随机字符串(比如 `1,2,3,...`)去填充每个字段,然后观察页面哪个位置出现了你填入的数字或字符串。例如: ```sql union select 1,2,3,4,5,6,7,8,9,10 ``` 然后看页面上哪些地方显示的是“1”、“2”等,那些就是可以注入利用的回显位。之后你可以把对应位置的数字替换成你要查询的数据(比如 `database()`、`user()` 或 `group_concat(table_name)` 等),从而获取信息。 如果某些位置没有显示任何数据,可能是数据类型不匹配(比如页面期待字符串,而你放了数字),可以试试用 `null` 或 `'a'` 这种字符串去测。另外注意字段数据类型,有些字段可能需要用 `null` 填充才不会报错。 总之,先定位回显位,然后在那几个位置上做文章就可以正常注入数据了。希望
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-5-23 04:09 , Processed in 0.019387 second(s), 16 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部