查看: 4177|回复: 8

sql手工注入时是否有什么技巧?

[复制链接]
发表于 2015-4-28 11:47:13 | 显示全部楼层 |阅读模式
找一个网站asp?id或者php?id这些网址,然后在每一个这样的网址后面都加一句 and 1=1之类的语句 ,一个一个去试,岂不是很麻烦?应该怎么有目的性的去手工注入测试?
回复

使用道具 举报

发表于 2015-4-28 12:59:41 | 显示全部楼层
答案是不用去试。因为你说的这种已经很难找到注入点了!

点评

那都用什么呢?谢谢回答,期待回答。  详情 回复 发表于 2015-4-29 21:43
回复 支持 反对

使用道具 举报

发表于 2015-4-29 10:16:31 | 显示全部楼层
现在出入已经不好找了,而且都是高级的注入了

点评

那都用什么呢?谢谢回答,期待回答。  详情 回复 发表于 2015-4-29 21:46
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-29 21:43:21 | 显示全部楼层
H.U.C-Star 发表于 2015-4-28 12:59
答案是不用去试。因为你说的这种已经很难找到注入点了!

那都用什么呢?谢谢回答,期待回答。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-29 21:46:57 | 显示全部楼层
csadsl 发表于 2015-4-29 10:16
现在出入已经不好找了,而且都是高级的注入了

那都用什么呢?谢谢回答,期待回答。
回复 支持 反对

使用道具 举报

发表于 2015-5-5 15:13:40 | 显示全部楼层
好像迈克菲还是哪家公司对2015年的安全预测中就有一条那就是未来的SQL注入漏洞将会减少,随着参数化查询的普及,SQL注入将会越来越少,而且SQL注入漏洞的利用难度将会越来越高。最后说下,你是要批量挖sqli还是仅仅找个站练练手,批量的话还不如弄个挖掘机这样的东西去扫呢,练手的话相关的靶机也不少啊,自己去搭个环境就行
回复 支持 反对

使用道具 举报

发表于 2026-5-20 21:10:00 | 显示全部楼层

Re: sql手工注入时是否有什么技巧?

手工注入确实不需要逐个试“and 1=1”,那样效率太低。有几个常用技巧可以帮你快速定位: 1. **先判断注入点**:直接在参数后加单引号 `'` 或双引号 `"`,看是否报错或返回异常页面。如果报错,很可能存在注入。 2. **使用逻辑判断**:在参数后加 `' and 1=1--` 和 `' and 1=2--`,如果前者正常、后者异常,说明有注入点。注意 `--` 是注释符,不同数据库可能不一样(MySQL用 `-- ` 或 `#`,SQL Server用 `--`,Oracle用 `--` 或 `%23`)。 3. **利用报错信息**:试着让数据库报错,比如 `' and extractvalue(1,concat(0x7e,user()))--`,如果返回了数据库信息,就能直接利用。 4. **时间盲注**:如果页面不显示报错,可以用 `' and sleep(5)--` 看响应时间是否延迟,判断是否存在注入。 5. **区分数字型和字符型**:数字型参数直接加 `and 1=1` 即可,字符型需要先闭合引号。可以尝试 `id=1` 和 `id=1+1` 对比结果,或者用 `id=1'` 看是否报错。 6. **批量测试用工具辅助**:手工肯定累,建议用Burp Suite的Intruder模块或sqlmap(仅限授权测试)来扫描常见注入点,但理解手工原理更重要。 记
回复 支持 反对

使用道具 举报

发表于 2026-6-21 15:25:01 | 显示全部楼层

Re: sql手工注入时是否有什么技巧?

手工注入确实不用一个个去试。常用的技巧是先用单引号 `'` 或者 `"` 测试页面是否报错,如果报错说明存在注入点;然后可以尝试用 `order by` 判断字段数量,再用 `union select` 联合查询来获取数据。另外观察页面返回的结果变化(布尔盲注)或者响应时间差异(时间盲注)也能快速定位有问题的参数。关键在于先找到一个能触发异常或者内容变化的特征,再针对那个参数深入测试,这样效率会高很多。
回复 支持 反对

使用道具 举报

发表于 2026-6-21 17:50:02 | 显示全部楼层

Re: sql手工注入时是否有什么技巧?

手工注入确实一个个试很累,但可以更聪明地缩小范围。首先,观察URL参数是否有明显规律,比如是数字ID还是字符型。数字型可以直接试 `and 1=1` 和 `and 1=2`,如果前者正常后者出错,说明有注入点。字符型需要先测单引号闭合,比如加 `'` 看是否报错。 另外,可以先用 `order by` 判断字段数量:`id=1 order by 1` 逐步增加数字直到出错,就能知道有几个字段。然后尝试 `union select` 把结果回显到页面上。如果页面不显示错误信息,就用盲注,比如 `and ascii(substr(...))>xx` 之类的逐位猜解。 其实很多步骤可以用工具加速,但手工注入的关键是观察页面返回差异(正常、错误、空白、部分显示),而不是盲目遍历每个参数。建议先抓包看参数位置,再针对性地测试闭合方式和类型。
回复 支持 反对

使用道具 举报

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

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

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

官方核心成员

关注微信公众号

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

GMT+8, 2026-7-8 07:01 , Processed in 0.026505 second(s), 17 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部