第5章 第37课
Google Hacking实战指南:从校园资源挖掘到安全防护
二、Google Hacking简介:搜索引擎的"黑客模式"
作为经常帮同学找电子书的学长,分享真实场景:
你需要《计算机网络》课后答案 → 百度搜不到 → Google搜索:
"计算机网络 课后答案" filetype:pdf site:edu.cn
👉 精准定位名校共享资源
核心概念:
# Google Hacking本质是高级搜索语法
def google_hacking(keywords, filters):
query = f"{keywords} {filters}"# 构建查询语句
results = google_search(query)# 获取精准结果
return extract_value_info(results)# 提取有价值信息
# 校园应用案例:
find_textbooks = google_hacking(
keywords="计算机网络 习题解析",
filters="filetype:pdf site:tsinghua.edu.cn"
)
三、搜索引擎处理流程:Google如何理解你的意图
当你搜索:"C语言实验报告 site:xx.edu.cn"
graph TB
A[原始输入] --> B(预处理)
B --> C["长度截断(保留核心词)→ 'C语言 实验报告 site:xx.edu.cn'"]
C --> D["大小写转化→ 'c语言 实验报告 site:xx.edu.cn'"]
D --> E["去标点→ 'c语言 实验报告 site xx edu cn'"]
E --> F[数据处理]
F --> G["分词→ ['c语言', '实验报告', 'site', 'xx', 'edu', 'cn']"]
G --> H["关键词抽取→ 主体='c语言 实验报告' 限定=site:xx.edu.cn"]
H --> I["非法过滤→ 移除敏感词(如有)"]
I --> J[返回搜索结果]
代码模拟处理逻辑:
def search_engine_process(query):
# 1. 预处理
cleaned = query.lower().replace(":", " ")# 大小写统一+冒号处理
words = cleaned.split()
# 2. 关键词抽取
main_keywords = []
filters = {}
for word in words:
if word == "site":# 识别语法关键词
filters["site"] = words[words.index(word)+1]# 下一个词为域名
elif word not in ["filetype", "inurl"]:# 排除语法词
main_keywords.append(word)
# 3. 构建查询
return " ".join(main_keywords), filters
# 测试:
query = "C语言实验报告 site:xx.edu.cn -答案"
keywords, filters = search_engine_process(query)
print(f"主关键词: {keywords} | 过滤器: {filters}")
# 输出:主关键词: c语言 实验报告 -答案 | 过滤器: {'site': 'xx.edu.cn'}
四、Google Hacking Database(GHDB):漏洞挖掘宝库
校园安全审计案例:
校网站可能泄露敏感信息 → 查询GHDB教育分类 → 发现:
intitle:"index of" "parent directory" site:xx.edu.cn
👉 意外开放目录列表,暴露学生信息表
GHDB分类实战:
# Exploit-DB API获取GHDB条目(伪代码)
import requests
def get_ghdb(category):
url = f"https://www.exploit-db.com/ghdb?category={category}"
results = requests.get(url).json()
return results
# 教育场景高危搜索
sensitive_files = get_ghdb("files")# 敏感文件类
for entry in sensitive_files[:3]:
print(f"[高危] {entry['title']} → {entry['query']}")
# 示例输出:
# [高危] 学生成绩表 → filetype:xls "成绩" site:edu.cn
# [高危] VPN配置备份 → inurl:config.bak site:xx.edu.cn
五、Google Hacking语法:校园场景实战手册
1. 完全匹配搜索(精确打击)
# 找教授联系方式(避免同名干扰)
"王明 教授 计算机学院" site:xx.edu.cn
2. 模糊匹配搜索(填补未知)
# 找某课程资料(忘记全名)
"计算机网络 * 实验指导" site:xx.edu.cn
# 可能匹配:《计算机网络基础实验指导》《计算机网络实验手册》
3. 与操作(多重条件)
# 找PDF版实验报告(排除Word)
实验报告 +filetype:pdf -filetype:doc site:xx.edu.cn
4. 或操作(扩展范围)
# 同时查找两种系统后台
(教务系统 | 选课系统) inurl:login site:xx.edu.cn
5. 非操作(排除干扰)
# 查网络安全资料(排除商业广告)
防火墙配置 -广告 -推广 site:edu.cn
6. 指定域名(精准定位)
# 检索子域名资源
site:classroom.xx.edu.cn 考试安排
六、实战提示:校园安全防护自查
场景:作为网络协会成员,检查学校网站安全性
# Google Hacking安全检查脚本(伪代码)
vulnerability_checks = [
# 1. 敏感文件泄露
'filetype:sql "INSERT INTO" site:xx.edu.cn',# 数据库备份
'filetype:xls "身份证号" site:xx.edu.cn',# 个人信息表
# 2. 配置泄露
'inurl:wp-config.php site:xx.edu.cn',# WordPress配置
'ext:env "DB_PASSWORD" site:xx.edu.cn',# 数据库密码
# 3. 未授权访问
'intitle:"摄像头" inurl:view.shtml site:xx.edu.cn'# 公开监控
]
for query in vulnerability_checks:
results = google_search(query)
if results:
send_alert(f"安全风险!查询语句: {query}", level="high")
防御措施(网络管理员视角):
# 在网站根目录添加robots.txt阻止爬取
User-agent: *
Disallow: /backup/# 禁止爬备份目录
Disallow: /config/# 禁止爬配置目录
Disallow: /*.xls$# 禁止爬Excel文件
七、注意事项:合法合规第一
kx上网方案对比
方式 | 校园适用性 | 风险提示 |
---|---|---|
学校VPN | ★★★★★ | 最安全,但仅限学术资源 |
自建VPS | ★★★☆☆ | 需技术基础,月费$5 |
商业工具 | ★★☆☆☆ | 隐私泄露风险 |
法律边界警示
# 合法用例:
if purpose in ["学术研究", "安全防护", "资源查找"]:
print("合法使用√")
# 非法用例:
elif purpose in ["黑客攻击", "隐私窃取", "商业盗版"]:
print("涉嫌违法× 立即停止!")
exit(0)
给技术新人的建议
- 学习路径
1. 基础:掌握10个核心语法(site/filetype/intitle等)
2. 进阶:研究GHDB分类(https://www.exploit-db.com/google-hacking-database)
3. 实战:用学校官网测试(务必先获授权!)
- 防御应用
# 定期Google自查(管理员身份)
site:your-domain.edu.cn password
site:your-domain.edu.cn intitle:"index of"
- 职场价值
# 安全工程师面试题
def google_dorking_prevention():
return [
"配置robots.txt限制爬虫",
"敏感目录添加密码保护",
"定期搜索自身域名排查泄露"
]
附赠校园资源搜索锦囊(公众号回复 校园搜索秘籍 获取PDF):
- 电子书:
"计算机网络" filetype:pdf site:edu.cn -付费 -会员
- 公开课:
intitle:"讲义" site:ocw.xxxx.edu.cn
- 竞赛资料:
"挑战杯获奖作品" site:edu.cn
记住:能力越大责任越大,请用技术之光而非技术之刃 (•̀ω•́)✧
感谢浏览和学习,作者:鱼油YOU,转载请注明原文链接:https://www.cnblogs.com/OmegaYOU3/p/19021323,或者可以➕主播WX:OmegaAnimeman_desu;QQ:3819054512