2.0의 여러가지 기능 중 가장 눈에 들어온 REST API에 대한 이야기를 잠깐 할까 합니다.
REST API of Burp suite 2.0
REST API를 지원해준다는 이야기는 곧 Burp suite가 분석툴로써만이 아닌 범용적인 스캐너~이를 활용한 도구로도 진화할 수 있다는 말입니다.Burp suite의 REST API는 어떤것들을 지원하는지가 가장 궁금했습니다. 우선 현재 제공하는 기능을 보면 아래와 같습니다.
- Scanning
- Get Scan data
- Get Rule(issues)
무엇을 만드냐에 따라 다르겠지만, 스캐너으로써 기능을 이용한다면 스캔할 수 있고, 정보를 가져올 수 있기 때문에 어느정도 사용이 가능합니다.
다만 테스트해보니 아직 모자란감이 여러가지가 있는데,
다시 테스트해보니 결과정보도 가져올 수 있습니다. 다만 모든 결과(이슈)를 가져오진 못합니다. 나름대로 기준이나 GET요청 시 같이 전달하는 Param 차이에서 나타난 결과일 것 같네요.
[ 스캔등록 ]
POST /scan HTTP/1.1 Host: 127.0.0.1:1337 { "urls":["https://www.hahwul.com"] }
Response로 Task_id를 받습니다 |
Tast Id는 Burp suite dashboard에서 보이는 task id 입니다. |
[ 결과 가져오기]
GET /scan/[task_id] Host: 127.0.0.1:1337
{
"task_id": "3",
"scan_status": "crawling",
"scan_metrics": {
"crawl_requests_made": 52,
"crawl_requests_queued": 0,
"audit_queue_items_completed": 0,
"audit_queue_items_waiting": 0,
"audit_requests_made": 0,
"audit_network_errors": 0,
"issue_events": 0
},
"message": "",
"issue_events": []
}
How to use?
proxy options > REST API 항목이 있습니다. 기본 포트는 1337로 잡혀있고 Enable 시 바로 활성화됩니다. API-Key 기반 인증을 걸어서 접근제어를 할수도 있습니다.Swagger UI 같은 테스팅 도구를 기본적으로 지원해주기 떄문에 1337 포트에서 바로 테스트도 할 수 있습니다. (그래봤자 insomnia나 swagger가 더 편한건 안비밀)
Conclusion
아직은 Beta 버전이라 기능도 미흡한 것 같습니다만, REST를 지원해준다는 점에선 참 맘에드는 업그레이드네요. (PostSwigger가 무슨 바람이 들었는지, 요 근래 변화를 자주 시도하는 것 같습니다)지인들과도 이야기에서도 비슷한 의견으로 좁혀졌는데 결국은 추후에 API Spec이 좀 더 나오면 명확하게 무엇을 할 수 있을지 더 보일 것 같다는 이야기가 다수입니다. 그전까진 2.0의 새로운 기능들이나 즐겨야겠네요 :)
(대시보드도 생각보단 편한듯해요..)
HAHWULSecurity engineer, Gopher and H4cker! |
"스캔정보(결과) 가져오기" 관련해서 이슈 정보는 못가져오는줄 알았는데, 다시 확인해보니 같이 찍혀서 오네요.
ReplyDeleteGET /scan/[task_id]
Host: 127.0.0.1:1337
다만, 모든 이슈정보가 오는게 아닌 것 같아, 테스트가 좀 더 필요할 것 같습니다 :)