BurpKit - Awesome Burp suite Extender(Burp에서 개발자 도구를 사용하자!)
올해 초 쯤인가요? Payload 관련해서 공유 받은 내용이 있었는데, 알고보니.. 쓸만한 툴을 팍팍 찍어내고 계신 CrowdShield의 1N3의 Git이였습니다.
이중에서 하위 플러그인 디렉토리를 통해 Burp suite 확장기능을 추가로 배포하고 있는데요. 오늘은 그 중 하나인 Burp Kit에 대한 내용으로 글 작성해봅니다.
https://github.com/1N3/IntruderPayloads/tree/master/Plugins
최근에 깨작꺠작 써보니.. 그 느낌이 잘 맞았었네요.
Burp kit는 Burp suite 안에서 웹 페이지 렌더링과 JS Debugger, Console 등 웹 브라우저에서 개뱔쟈 도구를 사용할 수 있도록 지원해줍니다.
그러다 보니 Burp 화면에서 바로 Javascript에 대한 테스팅, 디버깅이 가능하여 분석하는데 있어 편리합니다.
우선 아래 Git 주소에서 BurpKit-1.02-pre.jar 확장기능 파일을 받아줍니다. 아래 Direct link 부분으로 raw 파일을 바로 받으셔도 됩니다.
Link
https://github.com/1N3/IntruderPayloads/tree/master/Plugins
Direct link
https://github.com/1N3/IntruderPayloads/raw/master/Plugins/BurpKit-1.02-pre.jar
다른 확장기능 로드하는 것과 똑같이 Burp > Extender > Add > jar 파일 로드하여 적용이 끝납니다.
잘 동작하지 않아서 좀 그랬었죠... 아마 기능 구현에 약간의 오류가 있지 않았을까 싶습니다.
위 부분 제외하고 사용법에 대해 이야기드리면, repeater와 proxy history 페이지 같은 MessageEditor 부분에서 사용이 가능합니다.
(MessageEditor는 Burp에서 API로 제공하는 IMessageEditor 컴포넌트, 컨트롤러 사용 부분으로 대다수 확장기능들과 기본적인 기능들 중 Request/Response 를 볼 수 있는 부분들 모두 해당되는 구간입니다)
확장 기능 설치 이후에 MessageEditor를 보면 BurpKit 탭이 추가되어 있습니다.
들어가보면 Javascript console, XSS Tracker, Page Resources, Network, BurpScript IDE탭이 존재합니다.
추가로.. 개발자도구~IDE에서 지원하는 것과 같이 자동 완성 기능도 제공합니다.
개인적으로 안쓰는 부분이라 정확하진 않습니다. 그냥 제 생각일뿐...
(예를들면 동적 페이지로 로드, display:none 처리로 객체 생성 안된경우)
즉 Burp 자체를 제어하는 코드를 작성하고 적용하는 부분이라고 생각했지만 Javascript 코드만 처리할 수 있습니다.
(만약 Java단 제어가 되는거였다면 저기서 동적으로 확장기능 만들면 참 편리할듯.. 매번 Load/Unload 하기 넘 귀찮음, 느리고..)
Javascript 단 테스팅 코드를 미리 작성하고 저장해뒀다가 필요할 때 바로 눌러서 돌려볼 수 있습니다. 물론 이 기능 자체도 쓸만하긴합니다.
(예전에 Fiddler로 확장기능 만들던게 생각나네요. 그건 Js 기반이였는데)
이중에서 하위 플러그인 디렉토리를 통해 Burp suite 확장기능을 추가로 배포하고 있는데요. 오늘은 그 중 하나인 Burp Kit에 대한 내용으로 글 작성해봅니다.
https://github.com/1N3/IntruderPayloads/tree/master/Plugins
Burp kit?
처음에 확장기능을 로드해보고 감이 왔었느데, 개발자 도구가 Burp 안으로 들어갔다라는 느낌을 받았었습니다. 물론 그떈 실제로 사용해본 상태가 아니였기 떄문에 느낌적인 느낌이였는데요.최근에 깨작꺠작 써보니.. 그 느낌이 잘 맞았었네요.
Burp kit는 Burp suite 안에서 웹 페이지 렌더링과 JS Debugger, Console 등 웹 브라우저에서 개뱔쟈 도구를 사용할 수 있도록 지원해줍니다.
그러다 보니 Burp 화면에서 바로 Javascript에 대한 테스팅, 디버깅이 가능하여 분석하는데 있어 편리합니다.
Download & Install
우선 아래 Git 주소에서 BurpKit-1.02-pre.jar 확장기능 파일을 받아줍니다. 아래 Direct link 부분으로 raw 파일을 바로 받으셔도 됩니다.
Link
https://github.com/1N3/IntruderPayloads/tree/master/Plugins
Direct link
https://github.com/1N3/IntruderPayloads/raw/master/Plugins/BurpKit-1.02-pre.jar
다른 확장기능 로드하는 것과 똑같이 Burp > Extender > Add > jar 파일 로드하여 적용이 끝납니다.
How to use?
확장기능을 로드하면 Burpkitty, Burpscript IDE 라는 탭이 2개 생깁니다. 첨에 여기서 무언가를 할 수 있을거란 생각에 이리저리 굴려봤지만잘 동작하지 않아서 좀 그랬었죠... 아마 기능 구현에 약간의 오류가 있지 않았을까 싶습니다.
위 부분 제외하고 사용법에 대해 이야기드리면, repeater와 proxy history 페이지 같은 MessageEditor 부분에서 사용이 가능합니다.
(MessageEditor는 Burp에서 API로 제공하는 IMessageEditor 컴포넌트, 컨트롤러 사용 부분으로 대다수 확장기능들과 기본적인 기능들 중 Request/Response 를 볼 수 있는 부분들 모두 해당되는 구간입니다)
![]() |
이런 영역들이 IMessageEditor 부분입니다. |
확장 기능 설치 이후에 MessageEditor를 보면 BurpKit 탭이 추가되어 있습니다.
![]() |
원랜 없지만 새로 생김! 확장 기능 개발할떄도 MessageEditor 쪽 추가하면 저렇게 추가됨 |
들어가보면 Javascript console, XSS Tracker, Page Resources, Network, BurpScript IDE탭이 존재합니다.
Javascript console
웹 브라우저에서 사용하는 console과 동일합니다. 로드된 페이지의 Object에 대해 체크할 수도 있고 Javascript 자체에 대해서 테스트할 수도 있습니다.추가로.. 개발자도구~IDE에서 지원하는 것과 같이 자동 완성 기능도 제공합니다.
XSS Tracker
XSS Tracker는 input<->output 간 테스트를 위해 사용하는 탭입니다. Taint 라는 값을 Request에 삽입하고 이를 추적해 XSS의 흐름(?)을 보는 기능으로 생각됩니다.개인적으로 안쓰는 부분이라 정확하진 않습니다. 그냥 제 생각일뿐...
![]() |
우클릭은 캡쳐가 안되요.. |
Page Resources
해당 페이지에서 추가로 로드한 페이지나 링크들을 나열해줍니다. Network 탭과 비슷하지만, 실제로 불러오지 않아지만 HTML&Javascript 단에서 불러올 가능성이 있으면 열어줍니다.(예를들면 동적 페이지로 로드, display:none 처리로 객체 생성 안된경우)
Network
브라우저 개발자 도구의 Network 탭과 동일합니다. 페이지 요청 시 발생하는 Request/Response에 대한 정보를 담고있습니다.BurpScript IDE
마지막으로 스크립트 코딩, 페이지 삽입을 위한 IDE(? 라고 하기엔 좀 기능이 적지만..)입니다. 개인적으로 약간 아쉬움이 남는 기능인데, 전 처음에 Java단 코드즉 Burp 자체를 제어하는 코드를 작성하고 적용하는 부분이라고 생각했지만 Javascript 코드만 처리할 수 있습니다.
(만약 Java단 제어가 되는거였다면 저기서 동적으로 확장기능 만들면 참 편리할듯.. 매번 Load/Unload 하기 넘 귀찮음, 느리고..)
Javascript 단 테스팅 코드를 미리 작성하고 저장해뒀다가 필요할 때 바로 눌러서 돌려볼 수 있습니다. 물론 이 기능 자체도 쓸만하긴합니다.
(예전에 Fiddler로 확장기능 만들던게 생각나네요. 그건 Js 기반이였는데)