의미없는 블로그
Apache, Tomcat 에서 OPTIONS 메소드 차단 본문
OPTIONS 날리면 응답헤더에 Allow 메소드 뜨는거
예전엔 안잡았었는데 여긴 잡는다
Apache 2.0.54 이고 응답헤더에 메소드들 나온다
httpd.conf 에서 설정을 해주면 되는데
<Directory> 에다가 하는 방법이 있고
<Location> 에다가 하는 방법이 있다
아래는 <Location> 에 설정한 것
둘중 아무거나 설정하면 된다
<Location /> //루트로만 지정해줘도 하위까지 다 차단된다
<LimitExcept GET POST>
Order deny,allow
Deny from all
</LimitExcept>
</Location>
<Location />
<Limit PUT DELETE OPTIONS>
Order deny,allow
Deny from all
</Limit>
</Location>
서버 재부팅 후 (service httpd restart)
OPTIONS 날리면 이제 안나옴
<Directory> 에다가 설정할땐 유의할 점이
모든 <Directory> 에 다 설정해줘야 한다
<Directory />
<LimitExcept GET POST>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
<Directory />
<Limit PUT DELETE OPTIONS>
Order deny,allow
Deny from all
</Limit>
</Directory>
아 그리고 보통 TRACE 는
httpd.conf 에 TraceEnable Off 한줄 써주면 된다고 아는데
그게 아파치 버전 2.0.55 이상부터 가능한 방법이라고 한다
얘는 2.0.54 라서 그 방법으로는 TRACE 안없어짐
뭔 소린진 모르겠지만 이거 참고 https://neouser.tistory.com/238
Tomcat 은 8.0.54 이고
보니깐 메소드 설정이 기본으로 주석처리 되어있다
주석처리 되어있을때에도 OPTIONS 는 안나오긴 하는데
응답 반응이 달라서 캡쳐해 보았다
web.xml
기본 주석처리 되어있을 때
주석 해제했을 때 (주석 해제도 어쨌든 OPTIONS 는 차단한다는 뜻이라 안나옴)
#Case 1
web.xml 에 메소드 차단 설정되어있는 상태에서
TRACE 날렸을 때 응답헤더에 Allow 뜨는경우가 있었나보다 (첨보는데..)
serverl.xml 에서 allowTrace="false" 로 설정해주면 안뜬다고 하는데
이거 참고 https://hulbo.tistory.com/36
#Case 2
스프링 쓸 때도 OPTIONS 날리면 Allow 계속 뜨나보다
web.xml 에
<init-param>
<param-name>dispatchOptionsRequest</param-name>
<param-value>true</param-value>
</init-param>
써주면 된다는데
중요도도 낮으면서 뭐이리 복잡하뇨
이래서 안잡았던거 같은데..
https://blog.naver.com/duco777/220765466402
https://psage.tistory.com/entry/HTTP-Method-%EC%A0%9C%ED%95%9C
얘는 우분투에 Tomcat9 설치한거고
이건 또 OPTIONS 가 먹히네? 뭐냐
web.xml 에 차단 설정을 해본다
서버 재부팅 후 OPTIONS 날려보면 이제 안뜸
근데 웃긴건 TRACE 날리면 또 나온다 (#Case 1)
server.xml 에 allowTrace="true" 설정해준다
TRACE 날려도 이제 안뜸
'# 나 > pentest (WEB)' 카테고리의 다른 글
이렇게까지 해야한다고? (1) | 2020.05.27 |
---|---|
[Oracle] Order by 파라미터에서 SQL Injection 시도 (0) | 2020.05.18 |
[Tools] ysoserial 사용하기 (1) | 2019.12.12 |
파일 다운로드 모듬구이 (0) | 2019.12.06 |
싱글쿼터 없이 Stored XSS 시나리오 (쿠키 탈취) (0) | 2019.12.05 |