분류 전체보기 73

Webhacking.kr(old) 4번

웹케알이 리뉴얼 되었다. 너무 옛날 버전의 취약점은 약간씩 고쳐지고 문제의도를 잘 모르겠는 문제들도 개편되었다. 4번도 이에 해당된다. 기존문제는 base64로 인코딩된 값을 풀어 나오는 sha1의 값을 rainbow 테이블로 찾아내면 되는 문제였다. sha1의 레인보우 테이블은 웹에서 지원하는 경우가 많기 때문에 쉽게 찾을 수 있었지만, 리뉴얼 되면서 의도된 바는 레인보우 테이블이 어떻게 만들어지는 지에 대한 원리를 직접 느껴보길 바라는 의도인 것으로 보인다. 바뀐 문제를 풀어보자. Password [view-source] $hash = rand(10000000,99999999)."salt_for_you"; 10000000에서 99999999 사이의 숫자를 하나 뽑아 salt_for_you와 합친다. ..

[Tools] Web, Mobile 취약점 진단 분석 Tool & 설정

Web, Mobile 취약점 진단 분석 Tool & 설정 포맷하고 생각해내기 귀찮음. USB 복구 드라이브 만들자. NetWork Tool WireShark sslyze (환경변수 설정) ncat (윈도우 방화벽 디바이스 허용/환경 변수 설정) Proxy Tool Fiddler Tools > HTTPS > decrypt HTTPS traffic Rules > Remove All Encodings Burp Suite Community 크롬 확장 프로그램 EditThisCookie 언어 및 플랫폼 java jdk 8 Python 2.x, 3.x (2.x, 3.x 둘 다 설치 후 환경변수 설정 / 2.x의 python.exe를 python2.exe로 변경) adb(sdk manager) (환경변수 설정) 안드..

Web,Mobile/Tool 2019.11.05

[LOS] siren

소스코드 분석 1. $db = mongodb_connect(); > DB 환경 MongoDB 2. if($result['pw'] === $_GET['pw']) solve("siren"); > 요청값과 반환 값을 엄격한 비교. pw를 알 필요가 있으므로 Blind SQL Injection 시도 문제 풀이 pw 값을 알아야 하므로 $ne를 사용하여 인증우회 할 수 없다. 이번엔 부등호인 $gt를 이용하여 pw 값을 한자리 씩 알아낸다. 다음과 같이 요청한다. ?id=admin&pw[$gt]=3 ?id=admin&pw[$gt]=1 두 번의 요청으로 pw가 1보다는 크지만 3보다는 작다는 것을 알 수 있다. pw의 첫 글자는 1이거나 2일 것이다. 이런 식으로 참과 거짓으로 패스워드 값을 유추해 나간다. 부등호..