
SQL 인젝션 취약점 시연 in wordpress 5.8.2
이 저장소는 WordPress 5.8.2의 취약점을 시연합니다. 이 취약점은 class-wp-tax-query.php에서 살균 처리가 누락되어 매우 특정한 상황에서 공격자가 SQL 인젝션을 수행할 수 있게 합니다. 단, 성공적인 악용을 위해서는 개발자가 WordPress 인스턴스에 취약한 코드를 추가해야 하며, 이 경우 살균되지 않은 사용자 입력이 SQL 함수를 구성하는 데 사용되는 $terms 변수에 전달됩니다. 포함된 "evil" 플러그인의 evil.php와 class-wp-tax-query.php의 get_sql_for_clause에서 $terms 변수의 살균 처리 부재를 참조하세요.
취약점이 있는/악성 플러그인은 src/wp-content/plugins/evil/evil.php에 위치합니다.
Demonstration steps sudo docker-compose up localhost의 설치 안내를 따르세요 관리자 패널에서 워드프레스 플러그인을 활성화하세요 (evil plugin이라는 제목입니다) newexploit_req.txt의 요청을 새로 생성된 서버로 보내세요. 시간 지연이 발생해야 합니다. 플러그인이 시연하는 취약점은 블라인드 SQL 인젝션이므로, 데이터 검색을 시도하려면 시간 지연 또는 오류를 통해 데이터를 검색해야 합니다.
Debugging notes 이름 확인 실패가 발생하면 sudo service docker restart를 실행하세요 필요에 따라 xdebug.ini에서 xdebug.client_host=172.19.0.1을 조정하세요