Arachni 코드단에서 JSON Method 사용하기 (undefined method `parse' for Arachni::Element::JSON:Class 해결)

arachni 코드 수정 중 json 사용이 불가능한 경우가 있었습니다.

[ Code ]

require ‘json'
JSON.parse(data)

[ Error ]

undefined method `parse' for Arachni::Element::JSON:Class

JSON은 json library에 모듈로 정의된 걸로 알고있는데… (참고로 모듈은 중복 사용 불가합니다)

2.4.2 :207 > JSON.class
=> Module

그래서, 해결하려고 좀 삽질하다 보니 몇가지 사실을 알게되었습니다.

  • arachni에선 기존 JSON 객체를 ::JSON 으로 넘기구 자세적인 JSON을 사용함
  • 그래서 원본 ::JSON 모듈 사용으로 원래 json 모듈을 불러올 수 있음

코드 내부에서 ::JSON 모듈로 사용하니 기존 JSON library의 메소드를 사용할 수 있었습니다.

::JSON.parse(data)

혹시나… (없을 것 같지만) 저 처럼 arachni 코드 뜯어보시는 분이 있다면 조금이나마 도움되었으면 하네요.