developer tip

Apache에서 POST 데이터를 기록하는 가장 좋은 방법은 무엇입니까?

optionbox 2021. 1. 8. 08:09
반응형

Apache에서 POST 데이터를 기록하는 가장 좋은 방법은 무엇입니까?


매개 변수가있는 GET 요청 형식 또는 POST 요청 (예 : 표준 URL 인코딩 및 구분 된 POST 데이터 사용)의 데이터를 수락하는 사이트 API가 있다고 가정 해보십시오. API 호출을 기록하고 분석하려는 경우 GET 요청이 apache 로그에 있기 때문에 쉽게 수행 할 수 있습니다. 아파치 로그에서 POST 데이터를 얻는 간단한 방법이 있습니까?

(물론 애플리케이션에서 POST 데이터를 명시 적으로 기록 할 수 있지만 코드에서 걱정하지 않아도되는 구성 수준의 방법을 원합니다.)


Apache의 mod_dumpio를 사용하십시오 . 명백한 이유로 조심하십시오.

mod_dumpio 는 첫 번째 널 문자에서 바이너리 페이로드 로깅을 중지합니다 . 예를 들어 multipart/form-datagzip 파일을 업로드하면 mod_dumpio로 처음 몇 바이트 만 표시 될 것입니다.

또한 Apache httpd.conf/modules폴더 에있는 경우에도이 모듈을 언급하지 않을 수 있습니다 . 수동으로 추가 LoadModule하면 정상적으로 작동합니다.


대답하기 늦었지만. 이 모듈은 다음을 수행 할 수 있습니다 : https://github.com/danghvu/mod_dumpost


다음을 설치 mod_security하고 넣을 수 있습니다 /etc/modsecurity/modsecurity.conf.

SecRuleEngine On
SecAuditEngine On
SecAuditLog /var/log/apache2/modsec_audit.log
SecRequestBodyAccess on
SecAuditLogParts ABIJDFHZ

정확히 대답은 아니지만 Apache 자체에서이를 수행하는 방법은 들어 본 적이 없습니다. 확장 모듈로 가능할 것 같지만, 하나가 작성되었는지는 모르겠습니다.

한 가지 우려 사항은 POST 데이터가 상당히 클 수 있으며 로깅되는 양에 제한을 두지 않으면 잠시 후 디스크 공간이 부족할 수 있다는 것입니다. 해커가 서버를 엉망으로 만들 수있는 경로입니다.


[ModSecurity][1]POST 데이터를 보는 데 사용할 수 있습니다 .

Debian / Ubuntu에 설치 :

$ sudo apt install libapache2-mod-security2

권장 구성 파일을 사용하십시오.

$ sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Apache를 다시로드합니다.

$ sudo service apache2 reload

이제 아래에 기록 된 데이터를 찾을 수 있습니다. /var/log/apache2/modsec_audit.log

$ tail -f /var/log/apache2/modsec_audit.log
--2222229-A--
[23/Nov/2017:11:36:35 +0000] 
--2222229-B--
POST / HTTP/1.1
Content-Type: application/json
User-Agent: curl
Host: example.com

--2222229-C--
{"test":"modsecurity"}

실제로 응용 프로그램에서 할 것입니다. 물론 로거 시스템에 따라 런타임에 구성 할 수 있습니다. 예를 들어 Apache Log (log4j / cxx)를 사용하는 경우 이러한 URL에 대한 전용 로거를 구성한 다음 런타임에 XML 파일에서 구성 할 수 있습니다.


더 쉬운 옵션은 서버에 도달하기 전에 POST 데이터를 기록하는 것입니다. 웹 응용 프로그램의 경우 Burp Proxy 를 사용하고 Firefox를 HTTP / S 프록시로 사용하도록 설정 한 다음 실시간으로 '유선에서'데이터를 볼 수 있습니다.

브라우저없이 API 요청을하는 경우 SoapUI는 매우 유용하며 유사한 정보를 표시 할 수 있습니다. Burp를 통해 연결하도록 SoapUI를 구성 할 수있을 것입니다 (하지만 추측).


내장 된 포렌식 로그 기능을 사용할 수도 있습니다.

참조 URL : https://stackoverflow.com/questions/989967/best-way-to-log-post-data-in-apache

반응형