sqlmap은 파일을 읽고 씁니다
–file-read: 백엔드 데이터베이스 관리 시스템 파일 시스템에서 파일 읽기
–file-write: 백엔드 데이터베이스 관리 시스템 파일 시스템에서 로컬 파일을 편집합니다(로컬에서 쓰기)
–file-dest: 백엔드 데이터베이스 관리 시스템에서 작성한 파일의 절대 경로(쓰기 대상 경로)
위의 명령을 사용하면 SQL 주입 후 시스템 파일을 읽고 쓸 수 있지만 전제조건은 읽기 및 쓰기 권한과 dba 권한이 있어야 하며, 그렇지 않으면 읽기 및 쓰기 작업을 성공적으로 수행할 수 없습니다.
DVWA를 예로 들어 kali에서 DVWA를 빌드하여 파일을 읽고 쓰세요.
파일 읽기:
PHPinfo에서 관련 정보를 확인하고 -file-read 명령을 사용하여 파일을 읽습니다.
sqlmap -u"http://localhost/dvwa/vulneraries/sqli/?id=1&Submit=Submit#"--cookie "security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme"-file-read "/etc/php/7.3 /apache2/php.ini"
파일 읽기에 성공하면 표시된 정보 끝에 프롬프트가 표시됩니다. 관련 정보를 읽으려면 sqlmap에서 출력한 해당 경로를 입력해야 합니다.
파일 쓰기:
여기에서 DVWA 명령을 사용하여 실행하고 경로를 확인한 다음 파일을 /var/www/html/vulnerability/exec에 씁니다. 이 경로 아래에 -file을 사용합니다. -write, - file-dest 명령이 쓰기에 성공했음을 확인했습니다.
sqlmap -u"http://localhost/dvwa/vulneraries/sqli/?id=1&Submit=Submit#"--cookie "security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme"-file-write "/usr/test/1 .txt" -file-dest "var/www/html/vulnerability/execl/1.txt"
(사용 경로에 생성된 1.txt 콘텐츠)
(1개 쓰기) .txt 내용은 성공적으로 입력되면 표시됩니다.)
Sqlmap 업로드 셸(--os-shell)
--os-shell에는 세 가지 실행 조건이 있습니다.
(1) 웹 사이트에는 루트 권한이 있어야 합니다
( 2) 공격자는 해당 웹 사이트의 절대 경로를 알아야 합니다
(3) GPC가 꺼져 있고, PHP 활성 이스케이프 기능이 꺼져 있습니다
먼저 --is-dba 명령을 사용하여 웹 사이트인지 확인합니다. 그렇지 않으면 --os-shell 명령을 사용할 수 없습니다. 아래 그림과 같이 true로 표시되면 관리자이고, 관리자가 아니면 false로 표시됩니다.
다음으로 –os-shell 명령을 사용하세요. 삽입 지점이 있으면 언어를 선택하라는 메시지가 표시됩니다. 여기서 선택하는 것은 시스템에서 사용하는 언어를 기반으로 합니다. 4.
여기서 웹사이트가 선택됩니다. 언어 선택이 완료되면 경로가 선택됩니다. 웹사이트의 절대 경로를 알고 있는 경우 2개를 선택하거나 일반 경로 1개를 선택할 수 있습니다.
경로 선택이 완료된 후 작성 시 아래 그림과 같이 404 프롬프트가 표시됩니다.看 돌아가서 다른 설정에 문제가 있는지 확인하세요. 이전에 -is-dba를 사용했는데 표시 내용이 true였습니다. 그런 다음 current-user 명령을 사용하여 사용자를 보고 사용자가 dvwauser임을 확인했습니다. 초기 설정 중에 시스템은 MariaDB가 기본적으로 데이터베이스에 연결하기 위해 루트 권한을 사용할 수 없다는 메시지를 표시했지만, 또한 grant all 문을 사용하여 dvwauser에게 모든 권한을 부여했으며 쓰기 경로도 읽기 및 쓰기 권한으로 설정되었습니다. , 그러나 글쓰기는 결코 성공하지 못했습니다. 마지막으로, 아니면 xampp을 사용해 보세요. (루트 사용자의 문제인지 데이터베이스 버전의 문제인지 의심해봤습니다. 결국 xampp는 성공적으로 씁니다.)
사용자가 dvwauser인지 확인:
dvwauser 사용자 권한 부여:
절망에 , Xampp을 사용하여 DVWA를 구축해 보았는데, 이번에는 글쓰기에 성공한 것으로 확인되었습니다.
xampp을 사용하여 작성하기 전에 current-user를 사용하여 사용자를 보면 아래 그림과 같이 루트로 표시되고 -is-dba는 true로 표시됩니다.
작성이 성공하신 후, 작성하신 파일의 경로에 접속해 주세요. 업로드를 위한 업로드 포인트가 있는데, Ant Sword를 이용하여 연결에 성공했습니다.
위 내용은 sqlmapGetshell을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!