前言

本文记录一次真实的SQL注入漏洞挖掘过程…

漏洞发现

在测试某教育机构网站时,发现登录页面存在注入点…

漏洞分析

1
2
3
# 漏洞代码示例
username = request.GET.get('user')
sql = f"SELECT * FROM users WHERE username='{username}'"

利用过程

  1. 首先测试单引号闭合
  2. 使用 SQLMap 进行注入
1
sqlmap -u "http://target.com/login?user=test" --dbs

漏洞修复

使用参数化查询:

1
cursor.execute("SELECT * FROM users WHERE username=?", (username,))

总结

本次漏洞挖掘的经验…


参考链接: