본문 바로가기

2. Information Security/3. War Game21

웹해킹 28번 (webhacking.kr old 28) 1. 취약점 환경 : Apache, htaccess 2. Write Up 해당 문제는 현재 정상 동작하지 않는 것으로 판단됨 - 문제를 해결하기 위해 flag.php 파일을 실행(Excute)가 아닌 읽어오기(Read) 해야함 - 읽기 혹은 쓰기 권한을 변경하려면 해당 디렉토리에 .htaccess 파일을 업로드한 뒤 flag.php를 읽으면 Sovle - .htaceess php_flag_engine off 2020. 2. 13.
웹해킹 27번 (webhacking.kr old 27) 1. 취약점 환경 : PHP 2. Write Up 2020. 2. 13.
웹해킹 26번 (webhacking.kr old 26) 1. 취약점 환경 : PHP 2. Write Up 2020. 2. 5.
웹해킹 13번 (webhacking.kr old 13) 1. 공격유형 : Blind Sql Injection 2. Write Up 이 문제는 이번에 old 버전으로 리뉴얼 되었는데 공격 포인트를 정리해보자면 Ascii, Limit, having, group by, union, +, group_concat 등의 구문이 차단되어 있고 컬럼, 테이블 정보를 모르는 환경에서 "Blind Sql Injection"을 기반으로하는 "ord, concat" 구문을 조합 공격으로 해결 가능한 문제였다. 기존에는 Ascii 문자가 필터링되었을때 chr("문자") 등의 방식으로 바로 비교했었던 경험으로 동일하게 시도했지만 000000000 등의 숫자만 결과로 보여주어 이부분을 찾는데 조금 애를 먹었다. Ascii의 대안인 ord 기능이 있다는 것을 알고 적용했을때 문제를 해결.. 2020. 1. 30.
웹해킹 24번 (webhacking.kr old 24) 1. 공격유형 : PHP 함수 2. Write up 😊 코드분석 - extract 함수 : 이 함수는 array 변수 내에 존재하는 각각의 데이터를 변수화 시켜준다. - 그림에서 eTest Array 변수를 생성하여 출력한뒤 extract로 변환하면 우측과 같은 결과가 나타나는데 이는 연관 배열 형태의 변수가 extract에 의하여 개별 변수로 이용 가능한 것을 확인할 수 있다. - 즉 eTest 변수 내의 'test'를 출력할 때 기존 echo $eTest['test']에서 echo $test가 되는 것이다. - 이후 $ip, $agent 변수에 각각의 값을 지정해 준다 (extract 함수를 안썼다면 $ip= $_SERVER['REMOTE_ADDR'] 이런식으로 지정을 해야하지만 $REMOTE_ADD.. 2020. 1. 19.
웹해킹 23번 (webhacking.kr old 23) 1. 공격유형 : PHP 2. Write up 2020. 1. 5.
웹해킹 22번 (webhacking.kr old 22) 1. 공격유형 : Blind Sql Injection 2. Write up 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 payload2(): login(); TrustKey = "Wrong password!" ; .. 2020. 1. 5.
웹해킹 21번 (webhacking.kr old 21) 1. 공격유형 : Blind Sql Injection 2. Write up Blind Sql Injection 실행을 위해 스트립트 작성 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 payload2(): login.. 2020. 1. 3.
웹해킹 20번 (webhacking.kr old 20) 1. 공격 유형 : Javascript 변조 2. 취약점 환경 : Javascript, ServerSide Check 우회 3. Write Up ⓐ 소스코드 분석 1. 'Submit' onclick 시 Javascript function ck() 수행 2. ck() 내에서 lv5frm form 각각의 값 검증 수행 (id, cmt, captcha 값이 Empty인지와 captcha 값이 동일한지 확인) 3. '2' 수행 후 lv5frm.submit() 수행 ⓑ 검증 환경 1. Client Side : Javascript ck() 함수(id, cmt, captcha Empty 검증 및 captcha 입력값 동일여부 검증) - ch() 함수 내 id, cmt, captcha 값 Empty 검증 및 captc.. 2019. 12. 30.