일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 후킹
- Frida
- Los
- 블라인드 인젝션
- Lord of SQLInjection
- 부동산
- 스마트폰
- 아파트
- UnCrackable
- 월세
- 웹해킹
- SQL INJECTION
- 서울
- 모의해킹
- 일기
- Blind Injection
- Mid()
- APKManager
- 호갱노노
- NOX
- 프리다
- webhacking.kr
- 안드로이드
- 매물
- 투자
- 부동산분석
- 전세
- jeb
- ADB
- 아파트실거래가
- Today
- Total
목록분류 전체보기 (42)
일단 쓰고보자
#문제 #문제 의도 - 입력 값 필터링 규칙 (pw) if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~"); 1) prob 2) _ 3) . 4) () 5) 공백 - 목표 필터링을 사용하지 않거나 우회하여 쿼리 결과 id가 admin이면 해결 #확인사항 - prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다. - 필터링 문자에 싱글쿼터(')나 더블쿼터(") 등 다 열려있어서 기본 구문으로 해결할 수 있을 것이다. - 하지만 입력 구문 어디에나 들어가는 공백이 필터링 되어있어..
#문제 #문제 의도 - 입력 값 필터링 규칙 (pw) if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); $_GET[pw] = addslashes($_GET[pw]); 1) prob 2) _ 3) . 4) () 5) addslashes() 함수는 싱글쿼터('), 더블쿼터("), \, NULL 문자 입력 시 문자 앞에 \를 붙여 일반 문자로 만든다. - 목표 필터링을 사용하지 않거나 우회하여 admin의 pw를 알아내라. #확인사항 - prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다. - 입력 받은 pw 값에 addslashes() 함수를 적용하여, 나쁜 짓 못하게 막아뒀다...
#문제 #문제 의도 - 입력 값 필터링 규칙 (no) if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~"); if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~"); 1) prob 2) _ 3) . 4) () 5) ' 6) " 7) ` - 목표 필터링을 사용하지 않거나 우회하여 쿼리 결과 id가 admin이면 해결 #확인사항 - prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다. - 필터링 문자에 싱글쿼터(')나 더블쿼터(")가 추가 되었다. - 근데 크게 신경쓰지 않아도 될 만한게, no 파라미터 값은 숫자여서 굳이 싱글..
#문제 #문제 의도 - 입력 값 필터링 규칙 (공통) 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) () - 목표 필터링을 사용하지 않거나 우회하여 쿼리 결과 값의 id가 admin면 해결 #확인사항 - prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다. - 필터링 문자에 싱글쿼터(')나 더블쿼터(") 등 다 열려있어서 기본 구문으로 해결할 수 있을 것이다.
#문제 #문제 의도 - 입력 값 필터링 규칙 (공통) 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) () - 목표 필터링을 사용하지 않거나 우회하여 쿼리 결과가 존재하면 해결 #확인사항 - prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다. - 필터링 문자에 싱글쿼터(')나 더블쿼터(") 등 다 열려있어서 기본 구문으로 해결할 수 있을 것이다.
#문제 #확인사항 - $_SERVER[REMOTE_ADDR] = 현재 웹 서버에 접속하고 있는 IP 주소를 뜻함. ※ 집에서는 보통 네트워크를 사용하는 디바이스가 많으니, 공인 IP를 받아서 공유기로 다수의 사설 IP를 할당하여 사용할 것으로 판단된다. 그러니 ipconfig 결과로 나오는 IP와 내 공인 IP는 다를 수 있다. → 그냥 네이버에 "내 아이피" 검색해서 공인 IP 확인해보란 얘기다. - $pat 변수의 내용 = 정규 표현식이 들어가 있고, 어떻게 쓰이는지는 아래에서 확인 - preg_match($pat, $_GET['val']) 1) preg_match 함수는 두 번째 인자의 값이 첫 번째 인자($pat) 패턴을 만족하면 참을 리턴한다. 2) $pat 변수를 풀기 위해 정규 표현식 일부 ..