0x02 analysis2009. 12. 29. 10:33


이전글에서 보셨던 charCodeAt(i)^1 이외에도 charCodeAt(i)-1 과 같은 형태로 있었습니다.

어쨋든 charCodeAt(i)^1로 치환한 놈들은 charCodeAt(i)^1로 다시 치환하면 원문자열이 나오고
charCodeAt(i)-1로 치환한 놈들은 charCodeAt(i)+1로 다시 치환하면 원문자열이 나옵니다.

그럼 charCodeAt(i)-8로 치환된 문자열은 어떻게 해야 원문자열이 나올까요?




보시는바와 같이 -8을 해서 나온 문자열을 동일한 함수에 다시 +8을 하면 원문자열이 나옵니다.

결국 IDS에 추가할려고 했던 패턴들은 일부만 탐지할 수 있다는 단점을 안고 있습니다.

어떤 수식을 썼냐에 따라서 문자열이 달라질 수 있기 때문이죠..


이 생각도 해봤습니다.

Response에서 charCodeAt으로 탐지를 해볼까...

하지만 이걸로 탐지를 할 경우 오탐율이 높아진다는 단점이 있습니다.

낮은 정탐율이냐 높은 오탐율이냐 중 하나를 고르라면 낮은 정탐율이 낫겠죠..

아무튼 좀 더 생각을 해봐야 할 문제인 듯 합니다.






Posted by demantos