5/08/2020

Find reflected parameter on ZAP and Easy testing reflected XSS!

Hi hacker and bugbounty hunters.

Starting this year, I made web hacking tools collection that are good to use for bugbounty. Among them, there is a collection of expansion features of Burpsuite and ZAP, and I found awesome ZAP extension from this tweet.
올해부터 버그바운티 시 사용하기 좋은 웹 해킹 도구들을 정리하고 있습니다. 그중엔 BurpSuite와 ZAP의 확장 기능 컬렉션도 있고 트윗통해 추천을 받던 중 쓸만한 ZAP 확장 기능을 찾아 글로 간략하게 작성해봅니다.



Reflect

There was no ZAP extension or function to replace the reflected parameters of the existing burp suite, but I think we have a good extension now.
init 코드가 업로드된지 3개월로 얼마 안된 프로젝트입니다. 다만 기존 burpsuite의 reflected params를 대체할만한 ZAP의 확장 기능이나, 기능이 없었는데 이번에 좋은 확장 기능이 생긴 것 같네요.
https://github.com/TypeError/reflect



How to install?

https://github.com/TypeError/reflect/releases

Download release file(.zap) and install on ZAP(File => Load add-on file )
release 페이지로 들어가서 .zap 파일을 다운로드 받습니다. (.zap은 확장 기능 파일입니다. PK헤더이고, jar랑 비슷합니다.)

File => Load add-on file 로 들어가서 설치해줍니다.


require in-scope, add your target to context!!

Finding XSS with reflect + zap + dalfox

You can copy the URL list from the context menu within the reflect tab. copied data is CSV type and can be changed to match the input format of other tools. I'm going to change to a line-based format that most tools use a lot.
reflect 탭 내 컨텍스트 메뉴에서 URL리스트를 복사할 수 있습니다. CSV 타입으로 , 단위로 구별되며 다른 도구의 input 포맷에 맞게 변경해서 사용하면 됩니다. 전 대다수 도구에서 많이 사용하는 line 기반의 포맷으로 변경하겠습니다.

context menu(right click) => copy URL(s) => past to vim => repalce , to \r\n
%s/, /\r/g



Testing with dalfox! if you lucky, finding xss
간단하게 dalfox로 테스트해보면..

$ cat urls.txt | qsreplace -a | dalfox pipe



이런식으로 테스팅할 수 있습니다. 운이 좋으면 하나 걸리겠죠 뭐 :D


HAHWUL

Security engineer, Gopher and H4cker!

Share: | Coffee Me:

2 comments:

  1. is there other tools like reflect can run on python

    ReplyDelete
    Replies
    1. Are you asking if Python tools are can running in the environment in the post? Of course it's possible if it's right. Usually, the tools will support the pipeline or from file option!

      Oh, and zap supports scripting for different languages(e.g ruby, python, groovy, etc..), so it can be processed as Python inside zap.

      Delete