본문 바로가기

webhacking13

웹해킹 8번 (webhacking old 8) 1. 공격 유형 : 파라메터 변조, SQL INJECTION 2. 취약점 환경 : Client Header값인 User_Agent 변조를 통해 SQL INJECTION 수행 3. Write Up ㅇ 코드 분석 - $agent에 trim(앞뒤 공백 제거)을 적용한 HTTP_USER_AGENT 값 선언 - $ip에 Client IP인 $_SERVER($REMOVE_ADDR) 값 선언 - $ip에 from 문자열 존재시 htmlspecialchars 함수가 적용된 $agent 문자열 표현 - $count_ck에 chall8 테이블 row수를 저장함 (count 함수 이용) - $count_ck 값이 70 이상일 경우 chall8 테이블 삭제 - chall8 테이블에서 addslashes함수를 적용하여 $_SE.. 2019. 10. 20.
웹해킹 6번 (webhacking old 6) 1. 공격 유형 : 파라메터 변조, 역공학 2. 취약점 환경 : View Source의 PHP 코드를 역공학하여 인증값 입력 3. Write Up ㅇ 코드 해석 - $val_id, $val_pw 값을 각각 guest, 123qwe로 선언한 뒤 base64_encode 함수를 이용해 20번 인코딩 - 인코딩된 $val_id, $val_pw 각각의 변수를 str_replace 함수로 난독화 수행 - 난독화한 변수를 Setcookie를 이용하여 user, password에 입력함 - $decode_id, $decode_pw 변수에 난독화한 user, password값 선언 후 str_replace 함수로 복호화 수행 - 복호화된 $decode_id, $decode_pw 변수를 base64_decode 함수를 .. 2019. 10. 20.
웹해킹 1번 (webhacking old 1) 1. 공격 유형 : 쿠키값 변조 2. 취약점 환경 : cookie의 user_lv=1 값을 변조하여 인증 우회 3. Write Up ㅇ 코드 해석 - SetCookie에서 user_lv의 값을 1로 선언하고 있음 (뒤의 time값은 쿠키 유지시간, /challenge/web-01/은 쿠키 유효범위를 가르킴) - $_COOKIE['user_lv'] 값이 숫자가 아니라면 숫자 1을 선언 - $_COOKIE['user_lv'] 값이 5보다 크거나 6보다 같거나 작으면 Solve(1) 수행 ㅇ 공격 시도 2019. 10. 20.
웹해킹 7번 (webhacking old 7) 1. 공격 유형 : Sql Injection 2. 취약점 환경 : 파라미터('val')의 값을 조작하여 Sql Injection 수행 3. Write Up ㅇ 코드 해석 - $go 변수에 $_GET['val'] 파라미터 저장 - $go 변수에 2, -, +, from, _, =, \s, *, \ 등의 문자열 존재 시 Access Denied! 발생 - $db 변수에 dbconnet() 함수 선언 - $rand 변수에 rand 함수를 적용한 1~5의 랜덤 값 선언 - $rand 변수에 입력된 값에 따라 조건문 실행 - if($rand==1~5) { $result = mysqli_query($db, "select lv from chall7 where lv=($go)") or die ("nice try!!").. 2019. 10. 20.