이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
A7 - XML External Entity Attacks (XXE)
XML External Entity attack은 XML 입력을 구문 분석하는 응용 프로그램에 대한 공격 유형입니다. 이 공격은 외부 엔티티에 대한 참조를 포함하는 XML 입력이 약하게 구성된 XML 파서에 의해 처리될 때 발생합니다. 이 공격은 기밀 데이터 노출, 서비스 거부, 서버 측 요청 위조, 파서가 위치한 기계의 관점에서 포트 스캔 및 기타 시스템에 영향을 미칠 수 있습니다.
xxe-1.php 페이지는 xml 인젝션에 관련된 문제로 버트스위트를 이용하여 패킷을 잡고 공격 구문을 이용하여 내부에 있는 파일을 읽어 보도록 하겠습니다.
버프 스위트를 통하여 Any bugs? 버튼을 눌렀을 때 패킷을 잡은 후에 Repeater 항목으로 패킷을 보내줍니다.
버프 스위트의 Repeater 항목에서 Go 버튼을 눌러 주면 응답 값으로 bee 계정의 비밀이 재설정되었다는 메시지를 확인할 수 있습니다. 그럼 공격 구분을 통하여 robot.txt 파일을 확인해 보도록 하겠습니다.
공격 구문
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [<!ENTITY XXE SYSTEM "http://localhost/bWAPP/robots.txt">]>
<reset><login>&XXE;</login><secret>blah</secret></reset>
공격 구문을 입력하고 Go 버튼을 눌렀을 때 다음과 같은 에러 메시지가 나올 경우 xxe-2.php 페이지에서 소스코드를 수정해줘야 합니다.
소스코드 추가
$xml = simplexml_load_string($body,'SimpleXMLElement', LIBXML_NOENT);
기존에 설정되어 있던 부분을 주석처리한 후 위의 소스코드를 추가하여 줍니다.
소스코드 수정후 다시 Go 버튼을 눌러 주면 위와 같이 robot.txt 파일의 내용을 확인할 수 있습니다. 여기서는 단순히 robot.txt 파일의 내용만 확인해 보았지만 테스트를 하시는 분들은 다양한 방법으로 경로를 변경하여 확인해 보시기를 추천드립니다.
'Code::Security > 비박스(BWAPP)' 카테고리의 다른 글
비박스(bWAPP) A8 CSRF (Change Password) (0) | 2022.10.07 |
---|---|
비박스(bWAPP) A8 Cross-Site Request Forgery (CSRF) (0) | 2022.10.07 |
비박스(bWAPP) A7 Server Side Request Forgery (SSRF) (0) | 2022.10.04 |
비박스(bWAPP) A7 Restrict Device Access (0) | 2022.09.30 |
비박스(bWAPP) A7 Remote & Local File Inclusion (RFI/LFI) (0) | 2022.09.28 |