Js 파충류 의 전의 부적 이름 혼동

1. 배경 소개
반 파충류 쿠키 반 기 는 자주 사용 하 는 수단 이다.관련 수 치 를 계산 하고 document. cookie 설정 을 통 해 백 엔 드 에 제출 하여 파충류 여 부 를 확인 합 니 다.해독 방식 은 보통 document. cookie 를 검색 하고 쿠키 의 생 성 방식 을 찾아낸다.해독 난이 도 를 높이 기 위해 서 는 document. cookie 를 숨 기 고 해독 자 에 게 더 많은 시간 을 들 여 난이 도 를 높이 는 방식 이다.마찬가지 로 직접 보고 싶 지 않 은 모든 중요 한 기 호 는 이 방법 을 통 해 혼동 할 수 있다.
2. 전의 부 호 를 통 해 혼동
Js 에 서 는 8 진법 이나 16 진법 기 호 를 전의 부호 [1] 로 표시 할 수 있다.예 를 들 어 8 진 전의 자 를 넣 고 function 을 헷 갈 리 게 합 니 다.
"function" -> "fu\156ct\151o\156"

예 를 들 어 쿠키 를 설정 하 는 코드 가 다음 과 같 습 니 다.
"function setCookie(c_name, value, expiredays) {
 var exdate = new Date()
 exdate.setDate(exdate.getDate() + expiredays)
 document.cookie = c_name + "=" + escape(value) +
 ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())+";path=/"
};
try { 
 var hpd = this.__HOTEL_PAGE_DATA__;
 var k = btoa(hpd.hotelid+__HOTEL_COMMON_DATA__.clientId);
 var t = 1560583384810;
 setCookie("kpppv",k,30);
 setCookie("kpppv",(~~(t/100000))*100000+hpd.hotelid,30);
 setCookie("kpppv",(~~(t/100000))*100000+hpd.hotelid+(Math.ceil(Math.random()*100)),30);
 setCookie("fk",k);
} catch (e) {};"

전의 부 호 를 이용 하여 혼동 한 결 과 는 다음 과 같다.최종 적 으로 헷 갈 린 방법 은 익명 함 수 를 통 해 되 돌아 오고 실행 방법 을 실행 하면 document. cookie 를 숨 기 는 목적 을 달성 할 수 있 습 니 다.해독 자의 해독 난이 도 를 높 였 다.
"fu\156ct\151o\156 \163et\103oo\153\151e(c_\156a\155e, \166alue, e\170\160\151\162eda\171\163) {\12 \166a\162 e\170date \75 \156e\167 \104ate()\12 e\170date.\163et\104ate(e\170date.\147et\104ate() + e\170\160\151\162eda\171\163)\12 docu\155e\156t.coo\153\151e \75 c_\156a\155e + \"\75\" + e\163ca\160e(\166alue) +\12 ((e\170\160\151\162eda\171\163 \75\75 \156ull) \77 \"\" \72 \"\73e\170\160\151\162e\163\75\" + e\170date.to\107\115\124\123t\162\151\156\147())+\"\73\160at\150\75/\"\12}\73\12t\162\171 { \12 \166a\162 \150\160d \75 t\150\151\163.__\110\117\124\105\114_\120\101\107\105_\104\101\124\101__\73\12 \166a\162 \153 \75 btoa(\150\160d.\150otel\151d+__\110\117\124\105\114_\103\117\115\115\117\116_\104\101\124\101__.cl\151e\156t\111d)\73\12 \166a\162 t \75 1560583384810\73\12 \163et\103oo\153\151e(\"\150otel\151\163t\",\153,30)\73\12 \163et\103oo\153\151e(\"\150otel\160\163t\",(~~(t/100000))*100000+\150\160d.\150otel\151d,30)\73\12 \163et\103oo\153\151e(\"\150otelu\163t\",(~~(t/100000))*100000+\150\160d.\150otel\151d+(\115at\150.ce\151l(\115at\150.\162a\156do\155()*100)),30)\73\12 \163et\103oo\153\151e(\"fce\162\162o\162\",\153)\73\12} catc\150 (e) {}\73"

이 코드 는 chrome 콘 솔 에 직접 복사 할 수 있 습 니 다. 관련 전의 자 는 처리 되 고 전의 후의 출력 을 보 여 줍 니 다.
3. 전체 프로젝트
3.1 기호 표
먼저 우 리 는 기호 표를 준비 합 니 다. 표 에는 우리 의 전의 부호 에 사용 되 는 모든 기호 가 포함 되 어 있어 야 합 니 다.기호 표 의 생 성 은 더욱 은폐 할 수 있 고 계산 이나 전의 방식 으로 구성 할 수 있다.프 리 젠 테 이 션 편 의 를 위해 서 결 과 를 직접 드 리 겠 습 니 다.
{
    "l11":0,
    "lll1l":"f",
    "ll1":1,
    "ll1l":"a",
    "lll":2,
    "lll1":"b",
    "llll1":"d",
    "ll":3,
    "lllll":"e",
    "l1l":4,
    "l111":5,
    "llll":"c",
    "l11l":6,
    "l1l1":7,
    "l1ll":8,
    "ll11":9,
    "ll1ll":"constructor",
    "ll11l":"o",
    "lll11":"return",
    "__":"t",
    "ll111":"r",
    "_":"u"
}

3.2 Function 대상 을 이용 하여 실행 코드 구축
기능 을 수행 하려 면 함수 가 필요 합 니 다.저 희 는 Function 대상 [2] 을 만 들 고 기호 표 에서 정 의 된 기 호 를 통 해 저희 코드 를 만 들 고 Function 대상 의 매개 변수 로 합 니 다.
아래 의 샘플 코드 는 전의 기 호 를 연결 하여 함수 코드 의 최종 코드 를 제외 하고 구성 합 니 다.그리고 호출 은 결국 혼 란 스 러 운 기능 을 실현 했다.혼 란 스 러 운 코드 가 실 행 된 후 결 과 를 백 엔 드 에 전달 하고 백 엔 드 는 실제 사용자 인지 파충류 인지 판단 할 수 있다.
l.ll111(l.ll111(l.lll11 + "\"" + l.lll1l + l._ + "\\" + l.ll1 + l.l111 + l.l11l + l.llll + l.__ + "\\" + l.ll1 + l.l111 + l.ll1 + l.ll11l + "\\" + l.ll1 + l.l111 + l.l11l + " \\" + l.ll1 + l.l11l + l.ll + l.lllll + l.__ + "\\" + l.ll1 + l.l11 + l.ll + l.ll11l + l.ll11l + "\\" + l.ll1 + l.l111 + l.ll + "\\" + l.ll1 + l.l111 + l.ll1 + l.lllll + "(" + l.llll + "_\\" + l.ll1 + l.l111 + l.l11l + l.ll1l + "\\" + l.ll1 + l.l111 + l.l111 + l.lllll + ", \\" + l.ll1 + l.l11l + l.l11l + l.ll1l + (![] + "")[l.lll] + l._ + l.lllll + ", " + l.lllll + "\\" + l.ll1 + l.l1l1 + l.l11 + "\\" + l.ll1 + l.l11l + l.l11 + "\\" + l.ll1 + l.l111 + l.ll1 + "\\" + l.ll1 + l.l11l + l.lll + l.lllll + l.llll1 + l.ll1l + "\\" + l.ll1 + l.l1l1 + l.ll1 + "\\" + l.ll1 + l.l11l + l.ll + ") {\\" + l.ll1 + l.lll + " \\" + l.ll1 + l.l11l + l.l11l + l.ll1l + "\\" + l.ll1 + l.l11l + l.lll + " " + l.lllll + "\\" + l.ll1 + l.l1l1 + l.l11 + l.llll1 + l.ll1l + l.__ + l.lllll + " \\" + l.l1l1 + l.l111 + " \\" + l.ll1 + l.l111 + l.l11l + l.lllll + "\\" + l.ll1 + l.l11l + l.l1l1 + " \\" + l.ll1 + l.l11 + l.l1l + l.ll1l + l.__ + l.lllll + "()\\" + l.ll1 + l.lll + " " + l.lllll + "\\" + l.ll1 + l.l1l1 + l.l11 + l.llll1 + l.ll1l + l.__ + l.lllll + ".\\" + l.ll1 + l.l11l + l.ll + l.lllll + l.__ + "\\" + l.ll1 + l.l11 + l.l1l + l.ll1l + l.__ + l.lllll + "(" + l.lllll + "\\" + l.ll1 + l.l1l1 + l.l11 + l.llll1 + l.ll1l + l.__ + l.lllll + ".\\" + l.ll1 + l.l1l + l.l1l1 + l.lllll + l.__ + "\\" + l.ll1 + l.l11 + l.l1l + l.ll1l + l.__ + l.lllll + "() + " + l.lllll + "\\" + l.ll1 + l.l1l1 + l.l11 + "\\" + l.ll1 + l.l11l + l.l11 + "\\" + l.ll1 + l.l111 + l.ll1 + "\\" + l.ll1 + l.l11l + l.lll + l.lllll + l.llll1 + l.ll1l + "\\" + l.ll1 + l.l1l1 + l.ll1 + "\\" + l.ll1 + l.l11l + l.ll + ")\\" + l.ll1 + l.lll + " " + l.llll1 + l.ll11l + l.llll + l._ + "\\" + l.ll1 + l.l111 + l.l111 + l.lllll + "\\" + l.ll1 + l.l111 + l.l11l + l.__ + "." + l.llll + l.ll11l + l.ll11l + "\\" + l.ll1 + l.l111 + l.ll + "\\" + l.ll1 + l.l111 + l.ll1 + l.lllll + " \\" + l.l1l1 + l.l111 + " " + l.llll + "_\\" + l.ll1 + l.l111 + l.l11l + l.ll1l + "\\" + l.ll1 + l.l111 + l.l111 + l.lllll + " + \\\"\\" + l.l1l1 + l.l111 + "\\\" + " + l.lllll + "\\" + l.ll1 + l.l11l + l.ll + l.llll + l.ll1l + "\\" + l.ll1 + l.l11l + l.l11 + l.lllll + "(\\" + l.ll1 + l.l11l + l.l11l + l.ll1l + (![] + "")[l.lll] + l._ + l.lllll + ") +\\" + l.ll1 + l.lll + " ((" + l.lllll + "\\" + l.ll1 + l.l1l1 + l.l11 + "\\" + l.ll1 + l.l11l + l.l11 + "\\" + l.ll1 + l.l111 + l.ll1 + "\\" + l.ll1 + l.l11l + l.lll + l.lllll + l.llll1 + l.ll1l + "\\" + l.ll1 + l.l1l1 + l.ll1 + "\\" + l.ll1 + l.l11l + l.ll + " \\" + l.l1l1 + l.l111 + "\\" + l.l1l1 + l.l111 + " \\" + l.ll1 + l.l111 + l.l11l + l._ + (![] + "")[l.lll] + (![] + "")[l.lll] + ") \\" + l.l1l1 + l.l1l1 + " \\\"\\\" \\" + l.l1l1 + l.lll + " \\\"\\" + l.l1l1 + l.ll + l.lllll + "\\" + l.ll1 + l.l1l1 + l.l11 + "\\" + l.ll1 + l.l11l + l.l11 + "\\" + l.ll1 + l.l111 + l.ll1 + "\\" + l.ll1 + l.l11l + l.lll + l.lllll + "\\" + l.ll1 + l.l11l + l.ll + "\\" + l.l1l1 + l.l111 + "\\\" + " + l.lllll + "\\" + l.ll1 + l.l1l1 + l.l11 + l.llll1 + l.ll1l + l.__ + l.lllll + "." + l.__ + l.ll11l + "\\" + l.ll1 + l.l11 + l.l1l1 + "\\" + l.ll1 + l.ll1 + l.l111 + "\\" + l.ll1 + l.lll + l.l1l + "\\" + l.ll1 + l.lll + l.ll + l.__ + "\\" + l.ll1 + l.l11l + l.lll + "\\" + l.ll1 + l.l111 + l.ll1 + "\\" + l.ll1 + l.l111 + l.l11l + "\\" + l.ll1 + l.l1l + l.l1l1 + "())+\\\"\\" + l.l1l1 + l.ll + "\\" + l.ll1 + l.l11l + l.l11 + l.ll1l + l.__ + "\\" + l.ll1 + l.l111 + l.l11 + "\\" + l.l1l1 + l.l111 + "/\\\"\\" + l.ll1 + l.lll + "}\\" + l.l1l1 + l.ll + "\\" + l.ll1 + l.lll + l.__ + "\\" + l.ll1 + l.l11l + l.lll + "\\" + l.ll1 + l.l1l1 + l.ll1 + " { \\" + l.ll1 + l.lll + " \\" + l.ll1 + l.l11l + l.l11l + l.ll1l + "\\" + l.ll1 + l.l11l + l.lll + " \\" + l.ll1 + l.l111 + l.l11 + "\\" + l.ll1 + l.l11l + l.l11 + l.llll1 + " \\" + l.l1l1 + l.l111 + " " + l.__ + "\\" + l.ll1 + l.l111 + l.l11 + "\\" + l.ll1 + l.l111 + l.ll1 + "\\" + l.ll1 + l.l11l + l.ll + ".__\\" + l.ll1 + l.ll1 + l.l11 + "\\" + l.ll1 + l.ll1 + l.l1l1 + "\\" + l.ll1 + l.lll + l.l1l + "\\" + l.ll1 + l.l11 + l.l111 + "\\" + l.ll1 + l.ll1 + l.l1l + "_\\" + l.ll1 + l.lll + l.l11 + "\\" + l.ll1 + l.l11 + l.ll1 + "\\" + l.ll1 + l.l11 + l.l1l1 + "\\" + l.ll1 + l.l11 + l.l111 + "_\\" + l.ll1 + l.l11 + l.l1l + "\\" + l.ll1 + l.l11 + l.ll1 + "\\" + l.ll1 + l.lll + l.l1l + "\\" + l.ll1 + l.l11 + l.ll1 + "__\\" + l.l1l1 + l.ll + "\\" + l.ll1 + l.lll + " \\" + l.ll1 + l.l11l + l.l11l + l.ll1l + "\\" + l.ll1 + l.l11l + l.lll + " \\" + l.ll1 + l.l111 + l.ll + " \\" + l.l1l1 + l.l111 + " " + l.lll1 + l.__ + l.ll11l + l.ll1l + "(\\" + l.ll1 + l.l111 + l.l11 + "\\" + l.ll1 + l.l11l + l.l11 + l.llll1 + ".\\" + l.ll1 + l.l111 + l.l11 + l.ll11l + l.__ + l.lllll + (![] + "")[l.lll] + "\\" + l.ll1 + l.l111 + l.ll1 + l.llll1 + "+__\\" + l.ll1 + l.ll1 + l.l11 + "\\" + l.ll1 + l.ll1 + l.l1l1 + "\\" + l.ll1 + l.lll + l.l1l + "\\" + l.ll1 + l.l11 + l.l111 + "\\" + l.ll1 + l.ll1 + l.l1l + "_\\" + l.ll1 + l.l11 + l.ll + "\\" + l.ll1 + l.ll1 + l.l1l1 + "\\" + l.ll1 + l.ll1 + l.l111 + "\\" + l.ll1 + l.ll1 + l.l111 + "\\" + l.ll1 + l.ll1 + l.l1l1 + "\\" + l.ll1 + l.ll1 + l.l11l + "_\\" + l.ll1 + l.l11 + l.l1l + "\\" + l.ll1 + l.l11 + l.ll1 + "\\" + l.ll1 + l.lll + l.l1l + "\\" + l.ll1 + l.l11 + l.ll1 + "__." + l.llll + (![] + "")[l.lll] + "\\" + l.ll1 + l.l111 + l.ll1 + l.lllll + "\\" + l.ll1 + l.l111 + l.l11l + l.__ + "\\" + l.ll1 + l.ll1 + l.ll1 + l.llll1 + ")\\" + l.l1l1 + l.ll + "\\" + l.ll1 + l.lll + " \\" + l.ll1 + l.l11l + l.l11l + l.ll1l + "\\" + l.ll1 + l.l11l + l.lll + " " + l.__ + " \\" + l.l1l1 + l.l111 + " " + l.ll1 + l.l111 + l.l11l + l.l11 + l.l111 + l.l1ll + l.ll + l.ll + l.l1ll + l.l1l + l.l1ll + l.ll1 + l.l11 + "\\" + l.l1l1 + l.ll + "\\" + l.ll1 + l.lll + " \\" + l.ll1 + l.l11l + l.ll + l.lllll + l.__ + "\\" + l.ll1 + l.l11 + l.ll + l.ll11l + l.ll11l + "\\" + l.ll1 + l.l111 + l.ll + "\\" + l.ll1 + l.l111 + l.ll1 + l.lllll + "(\\\"\\" + l.ll1 + l.l111 + l.l11 + l.ll11l + l.__ + l.lllll + (![] + "")[l.lll] + "\\" + l.ll1 + l.l111 + l.ll1 + "\\" + l.ll1 + l.l11l + l.ll + l.__ + "\\\",\\" + l.ll1 + l.l111 + l.ll + "," + l.ll + l.l11 + ")\\" + l.l1l1 + l.ll + "\\" + l.ll1 + l.lll + " \\" + l.ll1 + l.l11l + l.ll + l.lllll + l.__ + "\\" + l.ll1 + l.l11 + l.ll + l.ll11l + l.ll11l + "\\" + l.ll1 + l.l111 + l.ll + "\\" + l.ll1 + l.l111 + l.ll1 + l.lllll + "(\\\"\\" + l.ll1 + l.l111 + l.l11 + l.ll11l + l.__ + l.lllll + (![] + "")[l.lll] + "\\" + l.ll1 + l.l11l + l.l11 + "\\" + l.ll1 + l.l11l + l.ll + l.__ + "\\\",(~~(" + l.__ + "/" + l.ll1 + l.l11 + l.l11 + l.l11 + l.l11 + l.l11 + "))*" + l.ll1 + l.l11 + l.l11 + l.l11 + l.l11 + l.l11 + "+\\" + l.ll1 + l.l111 + l.l11 + "\\" + l.ll1 + l.l11l + l.l11 + l.llll1 + ".\\" + l.ll1 + l.l111 + l.l11 + l.ll11l + l.__ + l.lllll + (![] + "")[l.lll] + "\\" + l.ll1 + l.l111 + l.ll1 + l.llll1 + "," + l.ll + l.l11 + ")\\" + l.l1l1 + l.ll + "\\" + l.ll1 + l.lll + " \\" + l.ll1 + l.l11l + l.ll + l.lllll + l.__ + "\\" + l.ll1 + l.l11 + l.ll + l.ll11l + l.ll11l + "\\" + l.ll1 + l.l111 + l.ll + "\\" + l.ll1 + l.l111 + l.ll1 + l.lllll + "(\\\"\\" + l.ll1 + l.l111 + l.l11 + l.ll11l + l.__ + l.lllll + (![] + "")[l.lll] + l._ + "\\" + l.ll1 + l.l11l + l.ll + l.__ + "\\\",(~~(" + l.__ + "/" + l.ll1 + l.l11 + l.l11 + l.l11 + l.l11 + l.l11 + "))*" + l.ll1 + l.l11 + l.l11 + l.l11 + l.l11 + l.l11 + "+\\" + l.ll1 + l.l111 + l.l11 + "\\" + l.ll1 + l.l11l + l.l11 + l.llll1 + ".\\" + l.ll1 + l.l111 + l.l11 + l.ll11l + l.__ + l.lllll + (![] + "")[l.lll] + "\\" + l.ll1 + l.l111 + l.ll1 + l.llll1 + "+(\\" + l.ll1 + l.ll1 + l.l111 + l.ll1l + l.__ + "\\" + l.ll1 + l.l111 + l.l11 + "." + l.llll + l.lllll + "\\" + l.ll1 + l.l111 + l.ll1 + (![] + "")[l.lll] + "(\\" + l.ll1 + l.ll1 + l.l111 + l.ll1l + l.__ + "\\" + l.ll1 + l.l111 + l.l11 + ".\\" + l.ll1 + l.l11l + l.lll + l.ll1l + "\\" + l.ll1 + l.l111 + l.l11l + l.llll1 + l.ll11l + "\\" + l.ll1 + l.l111 + l.l111 + "()*" + l.ll1 + l.l11 + l.l11 + "))," + l.ll + l.l11 + ")\\" + l.l1l1 + l.ll + "\\" + l.ll1 + l.lll + " \\" + l.ll1 + l.l11l + l.ll + l.lllll + l.__ + "\\" + l.ll1 + l.l11 + l.ll + l.ll11l + l.ll11l + "\\" + l.ll1 + l.l111 + l.ll + "\\" + l.ll1 + l.l111 + l.ll1 + l.lllll + "(\\\"" + l.lll1l + l.llll + l.lllll + "\\" + l.ll1 + l.l11l + l.lll + "\\" + l.ll1 + l.l11l + l.lll + l.ll11l + "\\" + l.ll1 + l.l11l + l.lll + "\\\",\\" + l.ll1 + l.l111 + l.ll + ")\\" + l.l1l1 + l.ll + "\\" + l.ll1 + l.lll + "} " + l.llll + l.ll1l + l.__ + l.llll + "\\" + l.ll1 + l.l111 + l.l11 + " (" + l.lllll + ") {}\\" + l.l1l1 + l.ll + "\"")())[l.llll + l.ll1l + (!l1 + "")[l.lll] + (!l1 + "")[l.lll]]();

4. 참고
[1] 전의 부적,https://en.wikipedia.org/wiki/Escape_character \ # JavaScript [2] 함수 대상,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function

좋은 웹페이지 즐겨찾기