zap

Revive ZAP with a Java Swap

Recently, I encountered persistent crashes while running ZAP 2.15 on macOS. The issue seemed to stem from the bundled Java version. After some debugging and testing, I found a soluti...

Placeholder Trick for Security Testing

최근에 저는 Burpsuite, Caido, ZAP을 모두 사용하고 있습니다. 기존 환경에서 Caido가 추가되었고, 여러가지를 실험중에 있습니다. 이 실험을 진행하면서 예상대로 돌아가지 않았던 것들이 많았지만 반대로 몇가지 얻어가고 있는 것들이 있습니다. 오늘은 그 중에 제가 잘 사용하지 않았던 트릭에 대해 바뀐 생각과 내...

ZAP 2.15 Review ⚡️

ZAP 2.15가 릴리즈되었습니다. OWASP를 나오는 이슈로 인해 2.14가 빠르게 출시됬던 상태라 2.15까지의 기간 또한 짧았네요. 오늘은 2.15 버전에 대해 빠르게 리뷰해봅니다. Scripts as First Class Scan Rules 드디어 Scripts가 ActiveScanRule, PassiveScan...

ZAP 2.14 Review ⚡️

생각보다 엄청 빠른 주기로 ZAP 2.14 릴리즈가 발표되었습니다 🎉⚡️ 아마도 최근에 ZAP은 OWASP를 나와 별도의 브랜딩을 가진것이 큰 영향을 줬을거라 생각합니다. ZAP 2.13이 나온지 오래되지 않았기 때문에 큰 변화가 있는 것은 아니지만, 그래도 중요한 API나 기능들이 추가되서 빠르게 리뷰해봅니다. ZAP ...

ZAP Map Local로 쉽게 Fake Response 만들기

보안 테스팅에선 HTTP Response를 자주 변경해야할 경우가 많습니다. 이럴 때 저는 보통 ZAP에선 breakpoint와 replace 기능, 그리고 스크립팅을 주로 사용했었습니다. (+Proxify의 DSL) 최근 일부 Proxy 도구나 웹 디버거에서 사용되는 Map Local 기능이 ZAP의 AddOn으로 추가됬...

Zest + YAML = ❤️

최근에 Zest 쪽의 Commit (zaproxy/zest/6d67925) 하나를 주시하고 있었습니다. 바로 Zest에서 YAML 포맷 지원에 대한 내용이였는데요. 드디어 공식 릴리즈가 이루어졌고 이제 Zest에서 YAML 포맷을 사용할 수 있게 되었습니다. What is Zest Zest는 자동화된 보안 테스팅을 위한...

ZAP’s Client Side Integration

최근에 ZAP에 재미있는 Addon이 추가됬습니다. GSoC(Google Summer of Code) 2023의 결과물로 BurpSuite의 Navigation Recorder와 비슷해보이는 기능으로 릴리즈 직후부터 틈틈히 가지고 놀아본 결과 다른 의미로 가능성이 보이는 Addon이란 생각이 들었습니다. 오늘은 바로 Cli...

Customize ZAP HUD 🎮

Today, I write a post about how to use ZAP HUD in an engaging manner. While ZAP HUD may not have incredibly useful features at the moment, experimenting with it could be worthwhile s...

Optimizing ZAP and Burp with JVM

누군가가 저에게 Application Security, Pentest 등에서 가장 활발하게 사용되는 도구를 선택하라고 하면 당연히 Burpsuite와 ZAP 같은 Proxy 도구를 선택할 것 같습니다. 최근 Caido가 많이 올라오는 추세이긴 하나, 장기간 리드 역할을 수행해 온 두 도구를 따라가기엔 아직 충분한 시간이 더 ...

ZAP 2.13 Review ⚡️

예상보다 훨씬 빠른 시기에 ZAP 2.13이 릴리즈되었습니다. 보통 매년 가을, 겨울중에 릴리즈가 있었는데, 이번에는 여름에 릴리즈가 생겼네요. 변화된 부분이 크진 않아서 릴리즈 노트를 보면 대부분 알 수 있습니다. 2.13 릴리즈 직후부터 몇일 동안 살펴보고 느꼈던 점 위주로 작성해봅니다. Key Changes 릴리즈...

ZAP Site Tree에서 404 페이지 한번에 지우기

ZAP의 Site tree는 Burp와는 다르게 404 Not found도 보여주고 있습니다. 종종 쓸만한 정보가 되기 하지만 대체로 보기 불편한 존재입니다. ZAP에서는 공식적으로 기능을 제공해주고 있지 않기 때문에 간단하게 스크립팅하여 제거하는 것이 편리합니다. 간단하게 공유해봅니다. 이렇게 404도 Site tree...

Cross handling Cookies in Zest

오늘은 Zest 스크립트에서 Headless Browser와 일반 ZAP 요청간 Cookie를 처리하는 방법에 대해 이야기하려고 합니다. Headless Browser와 ZAP 내부의 Req/Res 간에 쿠키 교환으로 여러 상황에서 웹 요청을 쉽게 처리하여 원하는 보안 테스팅, 자동화 루틴을 이어갈 수 있습니다. 아래와 같...

ZAP에서 우아하게 Cookie 기반 Auth 테스팅하기

Web의 Authorization, Permission, Access Control 테스팅 시 어떤 방법을 활용하시나요? 보통 보안 테스팅 단계에선 권한을 바꿔가며 수동으로 테스트하거나 자동화된 도구를 통한 테스팅, 또는 두개를 병행하여 테스트합니다. 그리고 자동화된 테스팅을 위해선 Burpsuite, ZAP, CLI Too...

ZAP Custom En/Decoder 만들기

ZAP의 확장성은 Scripting Engine의 파워에서 나옵니다. URL, HTML, Base64 등 테스팅 단계에선 인/디코딩을 하는 경우가 굉장히 많은데요. 이 때 사용하는 Encode/Decode/Hash 기능 또한 Scripting으로 확장할 수 있습니다. 사실 ZAP 2.10 버전(2020년 말)에 추가된 기능...

Front-End Tracker로 DOM/Storage 분석하기

ZAP 팀에서 관리하는 도구들 중에 유독 관심이 가던 도구가 하나 있었습니다. 오늘은 드디어 정리를 마무리해서 블로그 글로 공유드리면서 어떻게 사용하는지, 이걸 통해 무엇을 할 수 있는지 이야기드리려고 합니다. 바로 Front-End Tracker입니다. Set-up Basic Front-End Tracker는 Jav...

빠른 테스팅을 위한 ZAP 단축키들

ZAP에서 자주 사용하는 단축키들 정리해둡니다. 개인적으로 Tab 계통(History, Fuzz, Sites, Scripts 등)은 3키 이상 눌러야 하기 때문에 대다수가 1-2 키 구성입니다. (물론 탭들도 쉽게 적용하는 법이 있어요) 1-2 키 중 빈도수가 높은 단축키만 모았습니다. 익숙해진다면 테스팅 속도를 굉장히 많...

ZAP 2.12 Review ⚡️

드디어 ZAP 2.12 버전이 릴리즈되었습니다. 🎉👏🏼🍾 10월 중순쯤에 릴리즈 예정이였지만, 이슈로 약간 늦어졌다고 하네요. 오늘은 ZAP 2.12 버전에서 바뀐 내용들을 리뷰해보도록 하겠습니다. 그럼 시작하죠. UI UI상으론 크게 바뀐게 없습니다. 물론 자세히 살펴보면 몇몇가지 정보들이 더 추가되긴 했네요. Ne...

Param Digger! Easy param mining via ZAP

올해 ZAP의 GSoC 프로젝트는 Param Mining을 하는 AddOn이 선정 되었었습니다. BurpSuite의 Param Miner를 모티브로 쉽게 Mining하는 것이 목표가 되었기에, Scripting과 Fuzzing으로만 Param Mining을 제 입장에선 매우 반가운 소식이였었죠. 어쩌다 보니 스노우볼이 커...

ZAP⚡️ Replacer VS Sender Script

ZAP에서 모든 요청에 새로운 헤더나 데이터를 추가하려면 어떻게 해야할까요? 보통은 Replacer 라는 기능을 이용해서 값을 변경하거나 새로 추가할 수 있습니다. 이 과정은 Burpsuite에서도 비슷하게 Match and Replace란 기능을 사용해서 진행하죠. 다만 ZAP Scripting 중 매번 발생하는...

ZAP Alert Filters로 Risk 가지고 놀기

Alert filters Alert filters는 ZAP에서 발견한 이슈(Alert)들을 쉽게 관리하기 위한 Filter 기능입니다. 지정한 조건에 따라서 Alert의 Risk Level을 조정하거나 나타나지 않게 할 수 있습니다. ZAP을 Proxy로 사용하는 경우 자주 사용되는 기능은 아니지만, DevSecOps 등 ...

간단하게 ZAP Scripting 배워보기

오늘은 ZAP Scripting을 처음 접할 때 익숙해지기 좋은 예제 두가지를 소개해볼까 합니다. 이 글을 읽어주시면, 간단한 코드 작성으로 ZAP에서 데이터를 조회하거나, 3rd party 스캔을 요청하는 방법을 얻어가실 수 있을거에요 😊 ZAP Scripting ZAP에서 Scripting은 좌측 Tree Window...

ZAP Forced User Mode!!

제가 작년부터 ZAP의 Authentication / Authorization 기능들에 대한 이야기를 많이 했었던 것 같습니다. 실제로 테스팅에도 많은 부분들을 적용하고 사용하고 있었습니다. Authentication Spidering in ZAP ZAP Script-base Authentication 등 ...

Input/Custom Vectors를 사용하여 ZAP에서 정밀하게 취약점 스캔하기 🎯

Active Scan 먼저 Active Scan에 대한 이야기를 가볍게하고 시작하겠습니다. ZAP의 Active Scan은 수집된 URL을 기반으로 지정된 패턴, 로직으로 자동화된 보안 테스팅을 하는 기능입니다. 보편적으론 사이트 전체에 대한 스캔이 많이 언급되지만, ZAP의 강점 중 하나는 원하는 HTTP Request를 ...

Zest script in CLI

ZAP의 강력한 기능인 Scripting에서 한번 더 강력하게 만들어 주는 것이 바로 Zest script입니다. JSON 기반의 스크립트로 웹 Req/Res 그리고 Headless browser에 대한 컨트롤, 마지막으로 Assertion 등 테스팅 기능을 이용해 간단한 코드로 복잡한 테스팅을 할 수 있는 스크립트입니다. ...

ZAP에서 Zest Script로 Headless 기반의 인증 자동화 처리하기

최근에 Headless 기반의 Authentication script를 만들고 있었는데 약간의 어려움이 있었습니다. 실제로 headless browser를 통해 인증 처리는 쉬우나 그 뒤에 ZAP이 이를 인지하게 하는 것이 쉽지가 않았었는데요. 문뜩 제가 예전에 Zest script를 작성할 때 Client 관련 항목을 봤던...

ZAP Active Scan 시 Progress와 Response chart 활용하기

오늘은 ZAP의 ActiveScan에서 볼 수 있는 Progress와 Response chart에 대한 이야기를 잠깐 하려고 합니다. 뭔가 크게 도움되는건 아니지만 습관적으로 제가 창에 띄어두고 있는게 바로 Scan에 대한 Progress인데요. 왜 띄우고, 어떻게 사용하는지 이야기해보죠. Context-based Scan...

ZAP Bookmarklet for Speed up

Bookmarklet Bookmarklet은 Javascript 함수를 Bookmark에 추가하여 마치 브라우저 확장 기능과 유사하게 사용하는 기법으로 간단한 생성 방법에 비해 웹에서의 불편했던 작업들을 단축시킬 수 있어서 많은 사람들이 애용하는 기술입니다. 한가지 예를들어 아래와 같은 코드를 Bookmark에 추가합시다....

ZAP HTTP Sessions를 통해 간편하게 세션 기반 테스팅하기

ZAP에는 HTTP Sessions라는 기능이 있습니다. 이름과 옵션에 있는 내용을 보고 세션 처리 관련된 기능이구나 생각만 했지 실제로 한번도 사용해보지 않았던 기능입니다. 오늘 놓친 기능이 있을까 싶어서 메뉴를 돌아다니던 중 발견하여 테스트해봤는데 생각보다 테스팅의 불편함을 줄여줄 수 있는 부분으로 보여서 글로 소개해드리...

ZAP HUNT Remix

제가 오랬동안 잘 써오던 도구가 있었습니다. 바로 HUNT인데요! 저 또한 분석하는 방법 중 Data Driven Testing을 선호하는 편이라 HUNT 스크립트를 정말 잘 쓰고 있었습니다. 그러던 중 HUNT Remix라고 하여 ZAP, Burpsuite 에서의 기존 스크립트 방식을 Addon 형태로 변경하는 작업이 있...

Context Technology로 ZAP 스캔 속도 올리기

ZAP의 Context(Scope)에는 Technology 라는 항목이 존재합니다. 이는 Context > Technology 경로에 존재하며 자세히 살펴보면 DB, Language, OS 등 여러가지 Technology 리스트와 체크박스가 존재합니다. 기본적으로 전부 체크되어 있습니다. 그럼 용도가 무엇일까요? ...

ZAP Structural Modifier

저는 취약점을 찾을 때 중요한 3가지를 뽑으라고 한다면 아마도 기술에 대한 이해, 대상에 대한 이해, 그리고 센스를 택할 것 같습니다. 물론 이외에도 중요한 요소들은 정말 많겠지만 이 3가지는 일할 때 가장 많이 느끼는 부분이였어요. 갑자기 이런 이야기를 하는건 오늘 주제가 대상에 대한 이해와 연관이 깊기 때문입니다. ZA...

Ajax Spidering 시 브라우저 엔진 별 성능 비교 🏁

ZAP의 AjaxSpider는 headless browser를 통해서 직접 브라우징하며 Spidering 하는 기능입니다. 기본적으로는 Firefox가 설정되어 있지만, 개인의 취향에 따라 Chrome, PhantomJS 등 여러가지 browser(headless or common)를 사용할 수 있습니다. 갑자기 궁금해졌습...

Security Crawl Maze와 ZAP

이번달 초 쯤이였나요? ZAP의 메인 개발자인 Simon이 이런 트윗을 남겼었습니다. Anyone able to recommend any open source tools that are good at crawling modern web apps? Out of the box rather than toolkits. Apa...

MyEnv := ZAP+Proxify+Burp

여러분들은 보안 테스팅하실 떄 어떤 도구들을 사용하시나요? 저는 ZAP을 메인으로 그리고 Burpsuite를 보조 스캐너로 사용합니다. 제가 2021년 마지막글(“나의 메인 Weapon 이야기“)에 Proxify에 대해 언급을 했었습니다. 오늘은 이 Proxify를 이용하여 제가 새로 구성하려는 분석 환경과 이유, 그리고 이...

System Hardening을 피해 RCE를 탐지하기 위한 OOB 방법들

여러분들은 RCE(Remote Code Execution)를 식별하기 위해 어떤 방법을 사용하고 있나요? 저는 개인적으로 OOB(Out-of-band)를 즐겨서 사용합니다. Sleep 등 time 기반도 정확 하지만, 비동기 로직이 많은 요즘 time 보단 oob가 더 정확하다고 생각이 드네요. (물론 둘 다 체크하지만요 😊...

Attack Surface Detector를 이용해 소스코드에서 Endpoint 찾기

제가 일할 때 종종 사용하는 ZAP/Burp Addon이 있는데, 최근 에러가 있어서 찾다보니 제가 한번도 블로그에서 언급한적이 없었더군요. 그래서 오늘은 그 도구인 Attack surface detector에 대해 이야기할까 합니다. Attack surface detector Attack surface detecto...

ZAP의 새로운 Networking Stack

지난 목요일 밤 ZAP Developers Groups에 simon이 한가지 내용을 공유했습니다. 바로 ZAP의 Networking Layer에 대한 이야기고, 저는 제목을 보자마자 어떤 내용인지 직감했습니다. (제가 정말 기다렸던 내용이거든요 🤩) 어떤 것을 개선하기 위해 이러한 작업이 진행되었는지, 그리고 어떻게 바...

Custom Payloads로 ZAP 스캐닝 강화 🚀

오늘은 제가 최근에 ZAP에서 약간 관심있게 보고있던 기능 하나를 소개해드릴까 합니다. 바로 Custom Payloads인데요. Fuzzer나 ZAP의 Scripting engine을 사용하지 않고 조금 더 쉽게 지정된 페이로드 기반으로 테스트를 할 수 있어서 알아두시면 보안 테스팅이나 자동화 구현에서 잘 사용하실 수 있을거...

ZAP vs Burpsuite in my mind at 2022

Hi :D I’m going to compare ZAP and Burpsuite after a long time. Of course, it’s extremely subjective, so I hope you light enjoy it. ## TL;DR ZAP has powerful scripting engine a...

Zest와 ZAP! 강력한 보안 테스트 루틴을 만들어봐요 ⚡️

What is Zest Zest는 Mozilla 보안팀에서 만든 JSON 기반의 스크립팅 언어입니다. 보다 쉬운 웹 테스팅을 위해서 만들어졌고, 저는 테스팅 시 ZAP에서 자주 사용합니다. Zest in ZAP 사실 JSON 포맷 자체가 rewrite가 좋은 포맷은 아니라서(그래서 config는 yaml이나 toml을 ...

나의 메인 Weapon 이야기 ⚔️ (ZAP and Proxify)

한국 기준으로 새해까지 약 30분이 남았고, 올해의 글은 이 글이 마지막 글이 될 것 같습니다. 분명 2020 회고한지가 얼마 안된 것 같은데, 벌써 2021도 회고도 이미 지나버렸네요 😱 오늘은 제 회고 내용 중 하나인 Main Weapon에 대한 이야기를 하려고 합니다 :D Main Weapon? 여러분들은 분석 시 ...

ZAP의 새로운 Import/Export Addon, 그리고 미래에 대한 뇌피셜

최근에 ZAP 내 여러가지 Import, Save 관련 기능들이 “Import/Export”란 이름의 새로운 Addon으로 통합되었습니다. 사용자 Interface 상에선 변화가 없어서 크게 달라진 건 없지만 이를 통해 앞으로의 ZAP에서 Import/Export 기능에 대한 방향성을 엿볼 수 있어서 글로 작성해봅니다 😎 ...

ZAP과 Burpsuite에서 feedback 정보를 수집하지 못하도록 제한하기

최근에 ZAP의 Core addon 중 하나인 Callhome이 업데이트 되었습니다. 기존에 Callhome은 단순히 메인에 News 정보를 보여주기 위해 만들어진 기능인데, 이번에 Telemetry 관련 부분이 추가됬습니다. Telemetry는 ZAP 사용성 정보등을 수집하기 위한 기능인데요, ZAP쪽 설명으로는 취약점이...

Log4shell 전 세계의 인터넷이 불타고 있습니다 🔥 (CVE-2021-44228/CVE-2021-45046/CVE-2021-45105)

네 바로 어제(2021-12-10) Java의 logging package인 log4j2 에서 RCE 0-day 취약점이 공개되었습니다. Service, Application에 로그를 쌓을수만 있다면 어떤 환경에서도 공격 가능성이 존재하고, 리스크가 RCE인 만큼 정말 전 세계가 불타오르고 있네요. (하하 DM도 터져나갑니다...

ZAP RootCA를 API와 Cli-Arguments로 제어하기

ZAP에 새로운 Addon이 추가됬습니다. 이 Addon을 이용하면 ZAP의 인증서, 즉 Root CA를 API나 Cli등으로 컨트롤할 수 있도록 기능이 지원됩니다. 이를 활용하면 Daemon 모드로 동작하거나 CI/CD Pipeline 등에서 사용 시 조금 더 쉽게 인증서 처리를 할 수 있게 됩니다. 오늘은 ZAP의 ...

DOM XSS? 그렇다면 Eval Villain

올해 초 Burpsuite에선 DOM Invador라는 도구를 공개했었습니다. 제가 가볍게 리뷰할 때에도 이야기드렸지만 DOM 기반 테스팅에선 굉장히 유용하기 때문에 Burpsuite 사용자는 물론 ZAP 등 다른 도구 사용자도 충분히 관심가지고 테스트 때 열어서 써봐야할 정도의 도구였었죠. 사실 다른 진영에서도 쓸 수 있...

ZAP Browser에서 Extension 영구 적용하기

최근 ZAP의 Extension 중 selenium 관련 업데이트가 있었습니다. 무심히 Change 내용을 봤다가 “Support for browser extension” 문구를 보자마자 반가운 마음에 바로 글 작성을 시작헀죠 😎 ZAP의 내장 브라우저인 ZAP Browser(Manual Explore)는 지금까지 Fi...

ZAP 스크립팅으로 빠르게 Fake Response 만들기

Response 변조는 인증 절차나 비즈니스 로직을 우회할 때 자주 사용되는 공격 방법 중 하나입니다. 보통은 proxy로 요청을 잡아 직접 response를 수정하여 continue 하는 형태로 테스트를 진행합니다. {"msg":"fail"} => {"msg":"success"} 가끔은 이 과정을 자주 반복하게 ...

Solving issue the POST scan in zap-cli not work

During the test, I found that POST-based scanning(active-scan / quick-scan) was not working in zap-cli 😱 This problem is zap-cli issue, and it has already been reported as an issue b...

ZAP 2.11이 릴리즈되었습니다! 빠르게 리뷰하죠 ⚡️

드디어 ZAP 2.11 버전이 릴리즈 되었습니다 👏🏼🎉 2.9 ⇒ 2.10 만큼 큰 변화가 있는건 아니였지만, 그래도 ZAP Core팀에서 이야기하는 주요 개선사항에 대해 살펴보도록 하죠. 물론 큰 변화가 없다고 해도 전반적인 스캔 룰이나 AddOn들은 마이너 패치인 만큼 많이 업데이트 되긴 합니다. (PassiveRule...

이제 Interact.sh 가 ZAP OAST에서 지원됩니다

최근에 ZAP OAST(Callback 기능)에 projectdiscovery의 Interactsh 지원이 추가되었습니다. 약 2주전에 commit 됬고 저도 인지한지 좀 됬었는데, 이제서야 글로 작성하네요 😁 What is Interactsh? Interactsh는 projectdiscovery에서 개발한 OOB(O...

ZAP update domains (core and addon)

최근에 ZAP의 업데이트 서버 주소 관련해서 확인할게 있어서 user-groups에 문의를 했었습니다. 덕분에 쉽게 업데이트 주소를 확인 했지만 메모해두면 좋을 내용들이 있어서 정리해서 글로 작성해둡니다. 우선 ZAP의 업데이트에 사용되는 도메인은 아래와 같습니다. Address De...

ZAP 2.11 Review ⚡️

최근에 Simon, ZAP 공식 트위터 계정에서 2.11에 대한 릴리즈가 임박했음을 알렸습니다. https://twitter.com/zaproxy/status/1440308206782222337 2.10 버전이 나온지 1년이 다되가고 있고, 최근 ZAP의 변화가 재미있던지라, 저는 한발 앞서 2.11에서 어떤 기능들이 적...

ZAP Script-base Authentication

최근에 ZAP의 2가지 기능에 대해 이야기를 드렸었습니다. 바로 Authentication Spidering과 Access Control 테스트인데요. 이 2가지 기능의 핵심적인 부분은 ZAP에서 제공하는 Authentication과 User를 활용해서 로그인/로그아웃 플로우를 구현하는 것인데요. 오늘은 이 Authenti...

ZAP의 fuzz-script를 이용해 Fuzzing 스킬 올리기

여러분들은 Fuzzing 많이 하시나요? 웹해킹.. 아니 대다수 보안 테스팅에서 Fuzzing은 많은 시간을 차지 하기도 하고, 반대로 시간을 줄여주기도 합니다. 오늘은 웹 테스팅에서 ZAP을 이용해 Fuzzing할 때 Script를 이용해서 조금 더 나은 테스팅을 하는 방법에 대해 이야기하려고 합니다. ZAP Fuzzer...

Authentication Spidering in ZAP

최근 ZAP의 Auth(Authentication, Authorization) 관련 기능과 세션에 대한 부분을 파헤치고 있습니다. 제가 잘 모르고 사용하지 않았던 기능들인데, 알고나니 지금까지 약간 답답하게 일했던 제가 부끄러워지네요. 오늘은 이러한 부분들 중 하나인 Authentication Spidering에 대한 이야...

Testing Access-Control with ZAP

여러분들은 세션에 대한 접근 권한, Authorization에 대한 부분들을 점검하실 때 어떤 형태로 테스트하시나요? 저는 보통 ZAP의 ZEST Script를 사용하거나, BurpSuite 의 Authz 확장 기능을 이용하여 테스트 하곤 합니다. 사실 ZAP에는 Access Control이란 기능이 있어서 이런 것들을 ...

ZAP에 곧 추가될 FileUpload AddOn 살펴보기

최근에 ZAP Weekly 버전에 새로운 기능이 추가됬습니다. 바로 FileUpload 라는 AddOn 형태로 추가된 기능인데요, 이 기능은 File upload 관련 취약점을 식별하고 스캐닝할 수 있도록 도와주는 도구입니다. 요즘 ZAP의 기능 추가 속도로 보면 조만간 Release 버전에도 올라올 것 같은데요, 오늘...

ZAP Automation GUI

최근에 ZAP Automation framework가 0.4 버전으로 업데이트 됬습니다. 사실 제가 0.4 버전을 기다린 것은 아래 내용 때문인데요, StackHawk에서 스트리밍으로 진행한 Automation Framework에 대한 소개 내용 중 ZAP에서 UI로 Automation Framework를 컨트롤하는 장면이 ...

If you need test Out-of-band on ZAP? Use OAST!

Hi hackers and geeks! Today, ZAP OAST was released as Alpha version. (As I told you on https://twitter.com/hahwul/status/1415710990608461827, OAST is a tool for identifying out-of-ba...

ZAP OAST 릴리즈! 이제 ZAP에서 Out-Of-Band가 더 쉬워집니다 🚀

오늘 ZAP OAST가 Alpha 버전으로 release 되었습니다. 지난번에 이야기드린대로 OAST는 callback 과 비슷하게 Out-Of-Band를 식별하기 위한 도구로 SSRF, RCE 등에서 굉장히 유용하게 사용할 수 있습니다. 겸사겸사 몇가지 살펴봤는데요, 지난번 글에서 예상했듯이 odiss.eu 도메인에 ...

ZAP OAST 미리 구경하기 (for OOB)

ZAP developers에 컨텐츠 하나가 공유되었는데요 바로 OAST에 대한 내용이였습니다. OAST는 이번에 ZAP core team(akshath)에서 신규로 개발중인 AddOn입니다. 기존 zap callback 기능에 burp suite의 collaborator 와 같이 out-of-band를 쉽게 테스트할 수 있도...

ZAP Plug-n-Hack을 이용한 DOM/PostMessage 분석

Plug-n-Hack(PnH) Plug-n-hack, 즉 PnH는 Mozilla 보안팀이 제안한 표준으로 보안 도구와 브라우저간의 상호 작용을 쉽고 유용하게 할 수 있도록 만들어진 방법을 의미합니다. 이미 10년 가까이 되가는 기술로 초기에는 브라우저 console에서 보안 도구를 컨트롤 할 수 있는 형태로 구성되었지만, ...

ZAP Scanning to Swagger Documents

OpenAPI in ZAP ZAP은 단순히 url 리스트를 import 하는 기능 이외에도 GraphQL endpoint나 OpenAPI를 import 하는 기능을 가지고 있습니다. 여기서 OpenAPI Import를 활용하면 보통 API Spec에 많이 사용되는 SwaggerUI의 doc 데이터를 가지고 Example 코드...

Customize request/response panel in ZAP

오늘은 ZAP의 소소한 팁 하나를 공유할까 합니다. 보통 Request/Response 탭은 Layout 정도만 변경하고 기본 값을 사용하는 경우가 많은데요 사실 ZAP의 Request/Response 탭은 생각보다 디테일하게 설정이 가능합니다. 그럼 한번 살펴봅시다. How to customize? ZAP의 대다수 ...

ZAP Passive Scan Tags와 Neonmarker 그리고 Highlighter

많은 양의 Web URL을 분석하게 되면 눈에 잘 안들어오고, 중요한 부분들을 놓치기 마련인데 highlight 관련 기능들은 조금 더 중요한 포인트에 집중을 할 수 있도록 포인트를 잡아주기 때문에 개인적으로는 잘 활용하는게 분석함에 있어서 큰 도움이 된다고 생각합니다. 오늘은.. ZAP에서 Highlight에 관련된 내용...

ZAP의 새로운 Report Add-on, 'Report Generation'

오늘은 최근 ZAPCON 2021에서 공개된 Report Add-on인 Report Generation에 대해 이야기할까 합니다. ZAP의 리포팅 기능 ZAP은 OWASP에서 상당히 오래된 프로젝트 중 하나로 예전 도구들이 지향했던 HTML/PDF 등의 Report 기능을 지원하고 있었습니다. 물론 여기서 사용되는 UI/U...

ZAP Automation

올 초에 처음 열린 ZAPCon 2021에서 ZAP Automation at Scale이란 세션이 있었습니다. 그 때 당시에는 그냥 ZAP Automation Addon을 통해 기존 자동화 작업을 좀 더 쉽게 구성할 수 있다 정도로 받아드렸었는데, 최근에 Scan Policy 관련해서 비슷한 고민을 하다보니 ZAP Autom...

ZAP Token Generation and Analysis 살펴보기

ZAP에는 Token Generation and Analysis란 Addon이 있습니다. 사실 이름만 보고 예전부터 설치는 해두었는데 한번도 사용하지 않았던 것 같네요.. 그래서 오늘 한번 사용해보고 정확히 어떤 도구인지, 어떤 용도로 사용할 수 있을지 글로 작성해봅니다. Install Token Generation and...

Options rule configuration in ZAP

ZAP에서 옵션쪽 좀 보다가 Rule configuration 이란 부분이 있는데, 제가 아는 일반적인 스캔 룰 설정이라는 달라서 긴가민가한 부분이 있어 내용 정리해둡니다. Options Rule Configuration 이름만 보면 마치 어떤스캔을 포함하고, 어떤 스캔을 포함하지 않을지 결정하는 룰 같지만 실제론 ac...

ZAP context based scanning

ZAP에서의 quickscan이나 spider, active scan 등을 기본적으로 다중 URL을 지원하지 않습니다. 그래서 예전에 아래 포스트와 같은 방법으로 API를 이용한 방법, 그리고 별도의 도구를 만들어서 스캔하는 방법을 사용하곤 했습니다. https://www.hahwul.com/2020/08/22/scansp...

How to set ZAP active scan input vector in daemon mode

What is ZAP Active Scan Input Vector? Active Scan Input Vector는 ZAP에서 Active Scan 시 Injection 영역을 의미합니다. 물론 특정 Injection 취약점을 의미하는 건 아니고 점검할 부분이라고 보시는게 더 적합합니다. ZAP의 기본값은 URL + POST로...

Make and change default scan policy in ZAP cli interface

ZAP Scan Policy ZAP은 Passive/Active Scan에 대한 정책을 커스텀하게 관리할 수 있도록 제공하고 있습니다. 이는 단순히 해당 스캔 모듈의 사용 여부 뿐만 아니라 Risk level도 조정할 수 있어 스캐너로 활용하기에도 좋습니다. 그래서인지 DevSecOps를 구축할 때 ZAP은 자주 거론되는 D...

ZAP Forced browse 와 Fuzz에서 Sync wordlist 사용하기

Forced Browse는 딕셔너리 기반 또는 단순 브루트포스릍 통해서 서비스에서 경로와 페이지를 식별하는 방법입니다. 아주 전통적이지만 Recon 측면에선 아직도 굉장히 중요한 부분이기도 합니다. 그래서 이러한 작업들을 위해서 기존의 dirsearch, dirbuster 등의 도구부터 최근 feroxbuster, gobus...

Zest와 ZAP을 이용한 Semi-Automated Security Testing

What is Zest script Zest script는 ZAP에서 제공하는 스크립팅 언어로 ZAP 내부에서의 요청과 처리 등 많은 기능을 JSON 기반의 스크립트화 하고 사용/관리할 수 있는 언어입니다. BurpSuite 등 다른 메뉴얼 테스팅 도구에서는 없는 ZAP만의 강점인 기능이죠. JSON 포맷 Reco...

How to applying IntelliJ theme in ZAP

어제 BurpSuite의 Customizer에 대한 글을 썼었습니다. BurpSuite에서 FlatLaf의 IntelliJ Theme를 사용할 수 있도록 지원해주는 확장 기능이였고, 글 말미와 댓글에도 작성했듯이 ZAP 또한 2.10 버전부터 FlatLaf를 사용하고 있기 때문에 구현이 가능할거란 생각이 들었었습니다. 개인...

ZAP 2.10 Review ⚡️

2020 마지막이 얼마 남지 않은 오늘 드디어 ZAP 2.10.0이 릴리즈 되었습니다. 그동안 dark mode 등을 이유로 weekly 버전을 사용했었는데, 이제는 공식 버전으로 넘어가도 좋을 것 같네요. 오늘은 가볍게 2.10.0 의 릴리즈 노트를 살펴보고, 몇가지 깨알같은 기능을 소개할까 합니다. ...

Why I Use ZAP

Army-Knife for AppSec Application Security 또는 Pentest, Bugbounty 등 전반적인 Offensive security 관련 일에서 가장 핵심적인 도구는 Burp/ZAP 과 같은 Proxy 도구입니다. 초기에는 Proxy 도구라는 성향이 강했지만, 이제는 Proxy 도구라기 보단 A...

Make cloud base ZAP Scanning Environment Using github-action

Hi hackers and bugbounty hunters :D Today, I talk about building a github-action-based ZAP scanning environment. As you know, there is no time limit for public repo, so you can confi...

Building a ZAP Monitoring Environment (Grafana + InfluxDB + Statsd)

Hi hackers :D Here’s the first post of November! Recently, both in my companies and individuals are working on projects related to ZAP. So while I was looking at the options and fea...

How to add custom header in ZAP and zap-cli

The zap-cli is a tool that helps make ZAP easy to use on the command line. From simple scanning to CI/CD Pipeline, it’s a tool that’s used everywhere. Unlike other scanners, it does ...

One custom certificate, Using all tools and your devices (for bug bounty/pentesting)

저는 Burp pro / ZAP / Cli base proxy 3가지 모두를 사용합니다. 단순히 웹만 테스팅할 땐 크게 와닿지 않지만, 모바일을 테스트할 땐 인증서가 상당히 귀찮습니다. (특히 임시로 사용하는 폰들은..) 그래서 올해부터 Burp / ZAP 등의 기본 인증서가 아닌 별도로 인증서를 생성해서 모든 테스팅 기기...

Find reflected parameter on ZAP for XSS!

올해부터 버그바운티 시 사용하기 좋은 웹 해킹 도구들을 정리하고 있습니다. 그중엔 BurpSuite와 ZAP의 확장 기능 컬렉션도 있고 트윗통해 추천을 받던 중 쓸만한 ZAP 확장 기능을 찾아 글로 간략하게 작성해봅니다. Hi hacker and bugbounty hunters. Starting this year, I m...

How to import external spidering output to Burpsuite or ZAP

Normally, BurpSuite or ZAP is the main tool of testing during bugbounty or security testing. It’s good to navigate directly with the spider function in there, but sometimes you need ...

Using the Flat Darcula theme(dark mode) in ZAP!!

트위터를 보던 중 사이먼의 어마어마한 트윗을 보게되었습니다. 바로 ZAP의 Dark 모드 지원에 대한 이야기였는데요. 가볍게 리트윗했더니 이미 commit 된 내용이고 바로 사용해 볼 수 있다고 합니다. 그래서 아직 Weekly 버전에도 반영되지 않았지만, 미리 체험해보기로 하겠습니다. Commit? 아마 이 커밋인 것...

HTTP Request(ZAP, Burp) Parsing on Ruby code

XSpear 관련해서 이런 건의사항이 하나 있었습니다. Burp, ZAP 등에서 사용하는 패킷 데이터를 파일로 저장한 후 옵션을 주어 읽으면 자동으로 URL, Header 등을 파싱해서 사용하는 형태를 말씀하신 것 같습니다.(마치 sqlmap의 그것 처럼) 간단하게 처리를 위한 로직 작성해서 블로그 글로 남겨둡니다. 실제로...

ZAP Send to Any tools(+Send to Burp Scanner)

Hi friends?! I shared post the applications settings in ZAP yesterday. I’m going to share some of the settings that I was writing separately today. Let’s get started, my go-to settin...

Run other application in ZAP 🎯

ZAP has one interesting feature. It is a function that can use external applications. This makes it easier and more powerful for security testing to work with external tools. Today’s...

ZAP에서 Request/Respsponse 깔끔하게 보기

Problem ZAP에서 Burp의 Repeater와 비슷한 역할을 하는 도구가 Requester라는 확장기능입니다. (내장 기능도 있지만 여러모로 부족하죠.) 이 Request를 쓸 때 가장 큰 단점이 Request/Response를 동시에 보는 패널 모드를 적용하면 아래와 같이 난잡하게 Request/Response...

ZAP 2.8 Review ⚡️

드디어, 정말 드디어 ZAP 2.8이 릴리즈 되었습니다. 어제 새벽에 simon이 2.8 릴리즈 프로세스를 시작했다고 했고, 테스트만 마치면 바로 릴리즈 된다고 했었는데요, 그러고 한 6시간 뒤 공식적으로 2.8이 스탠다드 버전이 되었습니다. 이젠 스탠다드 버전에서 HUD 기능을 비롯해 여러가지 추가된 기능을 사용해 ...

How to fuzzing with regex on ZAP Fuzzer

ZAP Fuzzer is a very useful tool for reply attack, brute force, and multiple entropy calculations. Personally, I think it’s better than the burp suite intruder (it’s more flexible). ...

ZAP에서 정규표현식을 이용하여 웹 퍼징하기

ZAP의 Fuzzer는 reply attack, brute force 및 여러 엔트로피 계산에 있어 굉장히 유용한 도구입니다. 개인적으로는 Burp suite의 intruder보다 더 유연하다고 생각되네요. ZAP Fuzzer에서 Regex을 이용해서 페이로드 리스트를 만들고 테스트할 수 있는데, 오늘은 그 이야기를 좀 해볼...

ZAP(Zed Attack Proxy)의 4가지 모드(Four modes of ZAP)

ZAP을 처음 썼을 때 딱 바로 궁금했던게 있었습니다. 바로 좌측 상단의 Mode들인데요, 찾아볼까 하다가 그냥 넘어갔었는데, 드디어… 대충 어떤건지 글로 작성해봅니다. Safe mode 위험한 액션은 모두 제외된 상태, 단순하게 proxy로써의 기능에 충실한 모드 *위험한 액션으로 분류된 기능들 Spider Acti...

MacOS에서 Proxy 설정하기(for ZAP, BurpSuite)

MacOS에서 프록시 설정하는 방법 메모해둘까 합니다. 사실 뭐 별다른건 아니고.. 다른 OS에서 직접 설정하는 것과 동일합니다. 다만 MacOS의 경우 좀 더 On/Off가 쉬운 편이라 별도의 프로그램이 필요하단 느낌을 받진 않았네요. 네트워크 설정에서 HTTP/HTTPS Proxy 설정하기 네트워크 설정 메뉴에 들어가...

느린 ZAP을 빠르게 만들자! Zed Attack Proxy 최적화하기

취약점 분석에서 필수적으로 사용되는 도구 중 하나인 ZAP(or Burp 이지만, 이번 포스팅에선 ZAP만 다룹니다)은 많은 기능을 가지고 있지만, 모든 기능을 한번에 사용하기에는 확실히 속도를 걱정하지 않을 수가 없습니다. 우선 Java App으로 JVM 위에서 동작하고, 기본적인 동작 자체도 굉장히 느릴뿐더러 기본적...

ZAP과 BurpSuite에서의 "handshake alert: unrecognized_name" 에러 해결하기

최근에 일부 테스트환경(hosts 추가한거라 인증서문제가…)에서 이런 에러를 만났습니다. handshake alert: unrecognized_name javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name’ ZAP , Burp 모두 Java ...

ZAP Add-on before/from-version 변경하여 설치하기(최소 지원버전으로 설치 불가한 경우)

ZAP AddOn 설치 시 ZAP의 최소 지원 버전으로 인해 설치 못하는 경우가 있습니다. 예를 들면 alpha 버전용인데, release엔 포함안되고, market에도 등록 안된 경우 간단하게 Add-on의 설정 파일을 바꿔줘서 강제로 로드할 수 있습니다. ZAP Add-on 구조 우선 간략하게 ZAP Add-on의 구조...

ZAP Java 버전 바꿔치기

ZAP HUD 테스트한다고 alpha 버전 올렸었는데, macOS 에선 인앱 브라우저로 특정 사이트 접근 시 SSL 관련 에러가 발생해서 삽질했던거 정리해둡니다. Linux는 별 문제 없던 걸로 보아 macOS와 연관된 문제인 것 같습니다. SSLHandshakeException: Received fatal alert: h...

OWASP ZAP의 New interface! ZAP HUD 🥽

예전에 ZAP쪽 트윗보고 트위터로 공유해두었던게 있었는데, 최근 @Dakkar Key의 멘션으로 급 생각나서 글로 정리해둡니다. 그땐 정말 많이 대충 봐서 확하게 뭔지 몰랐었는데, 찾아보니 생각보다 좋은 도구인 것 같네요. 오늘 이야기드릴 주제는 OWASP에서 진행중인 ZAP HUD에 대한 이야기입니다. What is Z...

ZAP Scripting으로 Custom Header

ZAProxy에서 replacer를 이용해 Request/Response 내용 중 일부를 자동으로 변경할 수 있습니다. 물론 추가도 가능하구요.그치만 우리는 때때로 조금 더 디테일한 변경이 요구되기도 합니다. 이때는 script로 넣어두고 쓰면 편리하니 공유드립니다. customHeader.js // This script ...

ZAP에서도 Request를 가지고 스크립트로 생성하자! Reissue Request Scripter

Reissue Request Scripter는 제가 Burp suite에서도 정말 괜찮다고 생각했던 확장기능 중 하나입니다. Request 정보를 가지고 Ruby, Python, Perl, Javascript 등 여러가지 언어의 코드로 변환할 수 있는 확장 기능이며, 변환된 코드 또한 굉장히 잘 동작하기 떄문에 추가적인 테...

리눅스에서 OWASP ZAP과 BurpSuite의 색상 바꾸기

아주 예전부터 Burp suite, ZAP의 색상을 바꿀 수 있으면 좋겠다는 생각을 했었습니다. 관련해서 양쪽 개발자분꼐 여쭤봤지만 동일하게 코드 수정을 매우 어렵다고 답변 들었습니다. (당연한 이야기…, 역시 자바란) 그러던 중 최근에 트위터로 재미있는 소식을 하나 접했는데요, 리눅스 창 관리자를 약간 이용하면 색상 변환...

ZAP에서 Passive Script 만들기

요즘 몇가지 만들어쓰고 있는데, 간단하게 틀이되는 코드와 대략적인 설명으로 글 작성합니다. ZAP에선 Context menu, passive scan, active scan 등 모든 기능 구간에 대한 기본적인 script template 코드를 제공해주고 있고, 다른 코드 참조해서 작성하면 어렵지 않습니다. 확장기능 만드는...

ZAP에 필요한 기능과 Burp suite 듀얼 체제로 느낀점

최근에 ZAProxy 관련글을 쭉 작성하고 있습니다. Burp + ZAProxy 구성으로 진단하는 것에 대해 테스트해보고 적응하는 단계였는데, 한 1~2주 지났을까요? 전보다 확실히 익숙해진 것 같습니다. 이젠 단독으로 ZAProxy 써도 크게 불편하진 않을 것 같네요. 오늘은 관련 글의 마지막 부분으로 앞으로 적용해야할 것...

ZAP 단축키 사용 팁

시간도 늦고 피곤해서 잘까하다가, 재빠르게 글 하나 쓰고 자려합니다. 많은 사람들은 단축키를 즐겨 사용합니다. 특히 한국인이라면 빠른 스피드를 위해 단축키를 엄청 잘 활용하죠. 저 또한 손에 익기 시작하면 단축키 활용을 많이 하는 편인데요 오늘은 ZAP에서 단축키를 등록하는 법, 단축키 사용의 나름대로 팁을 공유드릴까 합니...

ZAP Scripting으로 Code Generator 구현하기

ZAProxy와 Burp를 혼용해 쓰면서 불편한 점들을 찾고, 고쳐가고 있습니다. 오늘은 그 중 Code genertor에 대한 이야기를 할까 합니다. Code Generator? 이름 그래도 코드를 생성해주는 기능입니다. 자주 애용하던 기능이라 불편함이 바로 찾아왔는데요, 바로 Code generator 입니다. Burp...

Burp와 ZAP 동시에 사용하기 🚀

최근 ZAP 사용에 대한 고민을 하고있다고 글을 통해 이야기드렸었습니다. 그래서 요즘 듀얼로 사용하면서 Burp와 ZAProxy의 차이점과 툴이 추구하는 방향? 등에 대해 뜻밖의 공부가 되고있는데요, 나름 긴 시간의 Burp suite 생활을 뒤로하고 ZAProxy를 사용해보면서 생겼던 고민과 해결에 대한 이야기로 당분간 ...

Burp suite 중독자가 바라본 OWASP ZAP(Zed Attack Proxy). 이제부터 듀얼이다!

요즘 부쩍 툴에 대한 많은 깊은 고민이 생겼습니다. 어떤 툴을 쓰면 좋을지, 이참에 걍 하나 만들지… 한… 3년? 전쯤에도 같은 고민이 있었죠. 그때는 Burp suite에 올인하기로 마음을 잡았었습니다. 시간이 지난 요즘, 또다시 Burp suite에 대한 지겨움, 새로움을 갈구하는 마음에 여러 고민이 시작되었습니다. 예...

BugCrowd HUNT - 버그 바운티를 위한 ZAP/Burp Extension

오늘은 유명한 버그바운티 사이트 중 하나인 BugCrowd에서 만들고 배포하는 HUNT에 대한 이야기를 할까 합니다. HUNT BugCrowd에서 만든 Bug hunting을 도와주는 Extension으로 분석에 많이 사용되는 Burp, ZAP에 확장 기능으로 설치할 수 있습니다. Passive scan의 성향을 띄며 Pr...