2017. 10. 12.

[웹 취약점] 버프스위트로 파라미터 무차별 대입하고 결과 얻기

취약점 진단을 할 때 파라미터 조작 취약점이 발견되는 경우가 굉장히 많다. 무작위로 인자값을 입력하여 얻어지는 응답값에는 '악의적인 공격자' 입장에서 유용하게 활용 될 만한 정보가 될 수 있다. 경험상 시나리오를 짜보면, 다음과 같은 사례가 있을 수 있다.

"범죄경력 조회 메뉴에서 POST로 전달되는 파라미터 값을 변조하여 응닶값에서 이름과, 주민등록번호, 주소를 파싱하여 텍스트 파일로 저장한다."
"헤더값을 변조하여 서버에 전달하여, 200 OK으로 전달되는 데이터를 취합 한다."

# 파라미터 조작 방법
파라미터 조작 공격이 유효한지 진단하기까지는 굉장히 쉽다. 다만 실제 공격자 입장에서 해당 공격을 통해 유효한 데이터를 얻느냐 얻지 못하느냐는 또 다른 문제이다.

공격은 '파이썬 또는 펄 프로그래밍'과 '버프스위트' 두 가지를 이용하여 시연 될 수 있다.
본 포스트는 버프스위트를 이용한 파라미터 대입에 대한 것이다.


1. Request 패킷을 잡고 'Send to intruder' 클릭
(위 사진은 예시 입니다. 실제로 구글을 대상으로 공격하지 않습니다.)

2. clear를 눌러 해지하고 원하는 파라미터를 블록지정하여 Add 버튼을 클릭한다.

3. Payloads 탭의 Payload type 에서 옵션을 선택한다. number, Dates, bruteforce 등등 있다. (효율성 면에서는 고민해야 할 필요가 있다. 펄이나 파이썬으로 짠 스크립트를 활용하는 측면에서 결과값이 많이 상이 할 수 있다. 고민해서 잘 활용 해야 한다.)

4.  payload type을  number 로 선택하면 아래와 같은 옵션을 볼 수 있다.


5. start attack 을 누르면 공격이 시작되며 창이 하나 뜨면서 페이로드 및 결과를 확인 할 수 있다.

6. intruder > Options 메뉴의 'Grep - Extract' 섹션에서 'Add' 를 클릭한다.

7. 이 후, 창이 뜨고, 특정 페이로드를 지정할 수 있다. 
'Refresh response' > 영역 지정 >  OK 

8. Attack start를 하면 공격이 시작된다. 도구에서 결과를 보면 한글이 깨지지만, 보고서를 다운받아 출력하면 한글이 제대로 보인다. save > Results table 을 통해 보고서를 다운받을 수 있지만 free edition 버전에서는 사용 할 수 없다.

** 패스워드 brute force 역시 버프 스위트에서 진행 할 수 있다.
Intruder > " Grep - Match " 메뉴에서 진행 할 수 있으며 매칭하고자 하는 문자열을 입력하면 아래와 같이 매칭 문자열이 발견된 요청을 확인 할 수 있다. 
즉, 로그인이 성공했을 때 발견되는 문자열을 입력하여 매칭된 패스워드를 찾을 수 있다는 얘기다. 





# 참고
  • http://blog.naver.com/PostView.nhn?blogId=crehacktive3&logNo=221077074955&parentCategoryNo=&categoryNo=9&viewDate=&isShowPopularPosts=false&from=postList

Popular Posts

Recent Posts

Powered by Blogger.