kali怎么挖php漏洞_用sqliv扫描php批量注入漏洞【方法】
技术百科
看不見的法師
发布时间:2026-01-27
浏览: 次 不能。SQLiv仅通过搜索引擎语法(如inurl:".php?id=")搜集疑似含SQL注入点的URL列表,不发请求探测、不验证漏洞、不解析源码,需配合sqlmap等工具二次验证。
SQLiv 能不能直接扫 PHP 注入点?
不能。SQLiv 是一个基于 Google、Bing 等搜索引擎的 SQL 注入漏洞“线索发现”工具,它本身不发 HTTP 请求探测 php?id=1 这类参数,也不解析 PHP 源码或执行注入测试。它只做一件事:用特定语法(如 inurl:".php?id=")从搜索引擎结果里扒出可能带注入点的 URL 列表。
所以你看到“SQLiv 扫 PHP 注入”,实际是两步:先用 SQLiv 收集目标 URL,再用 sqlmap 或手工验证是否真能注入。
- SQLiv 输出的是
http://example.com/news.php?id=2这样的链接,不是漏洞确认结果 - 它不识别 PHP 版本、WAF 类型、过滤逻辑,也不处理重定向或 403 封锁
- 如果目标站禁用了搜索引擎收录(
robots.txt或noindex),SQLiv 就完全扫不到
在 Kali 里怎么装和跑 SQLiv?
Kali 默认不预装 SQLiv,需手动安装。注意:原项目(sqliv on GitHub)已归档停更,当前可用的是社区维护分支,推荐用 sqliv-ng(兼容 Python3,修复了 UA 和搜索接口失效问题)。
执行以下命令安装:
git clone https://github.com/0xInfection/sqliv-ng.git cd sqliv-ng sudo pip3 install -r requirements.txt sudo python3 setup.py install
运行示例(搜含 .php?cat= 的页面):
sqliv -e google -d ".php?cat=" -t 5
-
-e google:指定搜索引擎,bing有时返回更多老站点 -
-d ".php?cat=":搜索关键词,建议加引号避免 shell 解析错误 -
-t 5:并发线程数,别设太高,否则容易被封 IP 或触发验证码 - 输出结果默认保存在
results.txt,每行一个 URL,可直接喂给 sqlmap
扫出来的 PHP URL 怎么验证是不是真有注入?
别直接拿 SQLiv 结果去跑全量 sqlmap —— 效率低、易被 WAF 拦。先做轻量级筛选:
- 用
curl -I检查 HTTP 状态码,过滤掉 404/503/302 跳转太多的 URL - 用
sqlmap -u "http://x.com/a.php?id=1" --batch --level=1 --risk=1 -v 1快速试探:只测 GET 参数、不做深度检测、输出精简 - 若返回
[INFO] heuristic (basic) test shows that GET parameter 'id' might be injectable,再加--technique=BEU或--dump - 遇到 Cloudflare 或百度云加速,加
--random-agent和--delay=2降低触发阈值
特别注意:很多“PHP 注入点”其实是伪静态(如 /article/123 实际由 PHP 处理),SQLiv 无法识别这类路径,得靠目录扫描(gobuster -u http://x.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt)补漏。
为什么扫了一堆 PHP 链接却一个可注入的都没有?
这是常态,不是工具问题。真实环境中,90% 以上的公开 PHP URL 已经:开了 WAF、参数被 intval() 强转、用了 PDO 预处理、或根本没接数据库。SQLiv 只放大“可能性”,不保证“可行性”。
容易被忽略的关键点:
- SQLiv 的关键词必须匹配真实参数名,比如
id、cat、page,但现代 CMS 常用post_id、entry等,得自己构造词库 - Google 搜索限制严格,
site:*.cn inurl:.php?这类指令现在基本无效,得换cache:或用shodan查暴露的 Apache 日志 - 有些 PHP 页面虽有
?id=,但后端用的是 Redis 或文件读取,跟 SQL 完全无关——得看响应体是否含 MySQL 报错、mysql_fetch等特征
真正有效的 PHP 注入挖掘,从来不是靠一个工具扫完就收工,而是把 SQLiv 当成情报入口,后面必须接响应分析、WAF 识别、源码片段比对这些动作。
# 关键词
# 的是
# 是一个
# 这类
# 后端
# 这是
# 也不
# 搜索引擎
# 开了
# 太多
# 用了
# python
# 不发
# redis
# 工具
# word
# http
# go
# cURL
# 并发
# 堆
# 实参
# 接口
# 数据库
# git
# github
# 线程
# php
# mysql
# sql
# apache
# pdo
# cms
# Directory
# batch
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win11怎么设置虚拟内存最佳大小_Windows
- TestNG的testng.xml配置文件怎么写
- Windows怎样关闭开始菜单广告_Windows
- Win11怎样彻底卸载自带应用_Win11彻底卸载
- Python对象比较与排序_魔术方法解析【教程】
- Windows的便笺功能如何使用?(桌面备忘技巧)
- Windows10如何更改桌面图标间距_Win10
- 如何在Golang中使用replace替换模块_指
- 如何诊断并终止卡死的 multiprocessin
- Win11怎么禁用键盘自带键盘_Win11笔记本禁
- 如何用列表一次性对 DataFrame 的指定列应
- 如何使用Golang recover捕获panic
- Go 中 := 短变量声明的类型推导机制详解
- Win11怎样激活系统密钥_Win11系统密钥激活
- 如何在 Python 中将 ISO 8601 时间
- C++中的std::shared_from_thi
- 如何在Golang中使用container/hea
- 如何在Golang中实现并发消息队列消费者_Gol
- 如何使用Golang实现容器健康检查_监控和自动重
- 如何在Golang中处理数据库事务错误_回滚和日志
- Win11截图快捷键是什么_Win11自带截图工具
- 如何使用Golang template生成文本模板
- C#怎么使用委托和事件 C# delegate与e
- php命令行怎么运行_通过CLI模式执行PHP脚本
- PHP cURL GET请求:正确设置请求头与身份
- Win11如何设置环境变量 Win11添加和修改系
- C++如何编写函数模板?(泛型编程入门)
- c++怎么编写动态链接库dll_c++ __dec
- Win10怎样清理C盘爱奇艺缓存_Win10清理爱
- 如何使用Golang开发简单的聊天室消息存储_Go
- How to Properly Use NumPy
- Win11文件扩展名怎么显示_Win11查看文件后
- Win11系统更新后黑屏怎么办 Win11更新黑屏
- Win11怎么检查TPM2.0模块_Windows
- Win11麦克风没声音怎么设置_Win11麦克风权
- 如何在Golang中修改数组元素_通过指针实现原地
- XML的“混合内容”是什么 怎么用DTD或XSD定
- c++中如何计算坐标系中两点间距离_c++勾股定理
- Win10如何关闭安全中心所有通知 Win10禁用
- 如何使用Golang table-driven f
- Win11怎么修复系统文件_使用sfc命令修复Wi
- C#如何序列化对象为XML XmlSerializ
- Win11怎么关闭专注助手 Win11关闭免打扰模
- 短链接怎么自定义还原php_修改解码规则适配需求【
- Mac如何调整Dock栏大小和位置_Mac程序坞个
- MAC如何启用访达侧边栏显示_MAC Finder
- php怎么下载安装后无法解析php文件_服务器配置
- 如何在Golang中实现自定义Benchmark_
- C++如何使用std::async进行异步编程?(
- php中::能用于接口静态方法吗_接口静态方法调用


QQ客服