일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 월세
- Los
- NOX
- 일기
- 아파트실거래가
- 부동산분석
- 호갱노노
- SQL INJECTION
- 프리다
- Lord of SQLInjection
- webhacking.kr
- APKManager
- 매물
- 아파트
- 안드로이드
- 서울
- 웹해킹
- UnCrackable
- Frida
- 후킹
- Blind Injection
- 모의해킹
- 전세
- 투자
- ADB
- 스마트폰
- 블라인드 인젝션
- Mid()
- jeb
- 부동산
- Today
- Total
목록모의해킹 (35)
일단 쓰고보자
#문제 #문제 의도 - 입력 값 필터링 규칙 (pw) if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); if(preg_match('/sleep|benchmark/i', $_GET[pw])) exit("HeHe"); 1) prob 2) _ 3) . 4) () 5) sleep 6) benchmark - 목표 필터링을 사용하지 않거나 우회하여 쿼리 결과가 존재하면 해결 #확인사항 - 문제 코드를 잘 보면 여느 블라인드 인젝션과는 다르게 Hello admin, Hello guest 등 쿼리 결과에 따라 참/거짓을 판별할 수 있는 문구를 출력해주지 않아서 다른 방법을 찾아봐야 한다. 우선 의심 드는 부분은 1) Time based SQL In..
#문제 #문제 의도 - 입력 값 필터링 규칙 (pw) if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); 1) prob 2) _ 3) . 4) () - 목표 필터링 및 입력 값이 주석처리된 것을 우회하여 결과 값이 admin 이면 해결 #확인사항 - 이 문제의 관건은 # 주석을 우회해야한다는 것이다. 우선 기본적으로 주석의 특징을 알아봐야 우회할 수 있을 것 같다. 1) # : 한 줄 주석 처리 2) --(공백) : 한 줄 주석 처리 3) /**/ : /*와 */ 사이 내용 모두 주석처리 - 힌트라면 한 줄에 대한 주석을 처리한다는 내용이 되겠다. - 게다가 쿼리 내 개행문자는 쿼리결과에 영향을 주지 않는 것을 알 수 있다. (아래 표..
#문제 #문제 의도 - 입력 값 필터링 규칙 (pw) if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); if(preg_match('/regex|like/i', $_GET[pw])) exit("HeHe"); $_GET[pw] = addslashes($_GET[pw]); 1) prob 2) _ 3) . 4) () 5) regex 6) like 7) addslashes() - 목표 필터링 우회하여 블라인드 인젝션을 통해 admin 패스워드를 알아내자 #확인사항 - 기본적으로 제한했던 문자 외 regex와 like가 추가되었는데, regex는 왜 추가됐는지 잘 모르겠다 ㅎㅎ... - 필터링 문자에 싱글쿼터(')나 더블쿼터(") 등 다 열려있..
간혹 ADB를 사용하다 보면 아래처럼 에러날 때가 있다. 뭐 인증이 안됐다는데 ADB 명령어가 하나도 안 먹는다. "adb devices" 명령어로 현재 연결된 device를 확인해보면 unauthorized 라고 표기된다. (원랜 device) ADB를 워낙 자주 쓰다보니 이런 식으로 가끔 에러나면 당황해서 어떡해야되나 싶은데, 이럴 때마다 시간 낭비하면 안되니까 간단한 해결방법을 알아보자. 1. USB 케이블로 연결된 PC와 스마트폰 연결 해제 2. "adb kill-server" 명령어로 ADB 서버 종료 3. 스마트폰 개발자도구에서 "USB 디버깅 권한 승인취소" ※ 개발자 옵션은 Default 숨김 상태이며, 일반 설정에서 안 보이면 "소프트웨어 정보> 빌드번호" 연타해서 생성 4. PC 아래 ..
#문제 #문제 의도 - 입력 값 필터링 규칙 (pw) if(preg_match('/prob|_|\.|\(\)|#|-/i', $_GET[pw])) exit("No Hack ~_~"); if(strlen($_GET[pw])>6) exit("No Hack ~_~"); 1) prob 2) _ 3) . 4) () 5) # 6) - 7) pw 입력 값이 6자가 넘으면 안 됨 - 목표 pw 값을 6자 이하로 입력, 필터링을 우회하여 쿼리 결과값이 존재하도록 해라. #확인사항 - 가장 먼저, 주석문을 삽입해서 뒤에 and id!='admin' 조건문을 우회해야 할 것 같다. - Mysql에서 주석을 사용하는 방법을 알아보자. 1) # → 필터링 됨 2) --공백 // 예를 들어, --%20 혹은 --%09 등 → 필터..
#문제 #문제 의도 - 입력 값 필터링 규칙 (공통) $_GET['id'] = strrev(addslashes($_GET['id'])); $_GET['pw'] = strrev(addslashes($_GET['pw'])); if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); 1) prob 2) _ 3) . 4) () 5) addslashes() 함수는 싱글쿼터('), 더블쿼터("), \, NULL 문자 입력 시 문자 앞에 \를 붙여 일반 문자로 만든다. 6) strrev() 는 인자로 받은 문자열 순서를 반대로 리턴한..