write-up(web)

    [Webhacking.kr] Challenge old-44 write-up

    [Webhacking.kr] Challenge old-44 write-up

    문제 화면입니다. 문제 소스 코드입니다. ls 명령을 실행시키면 되는 문제입니다. php의 system() 함수가 정의되어 있으므로 echo 뒤에 ls 명령을 넣어주면 됩니다. ls를 넣으니 ls 문자가 나옵니다. 뒤에 명령어를 넣기 위해선 세미콜론(;)을 넣어줍니다. ';'ls 따라서 위와 같이 입력하면 flag_어쩌구 폴더와 Index.php 파일이 존재함을 알게 되었습니다. flag_ 어쩌구 폴더에 들어가보면 플래그가 나옵니다. 이 값을 Auth 탭에 넣어주면 문제가 풀립니다~

    [Webhacking.kr] Challenge old-08 write-up

    [Webhacking.kr] Challenge old-08 write-up

    문제 화면입니다. 새로고침을 하자 hi guest가 나왔습니다. 문제의 소스 코드입니다. 순서대로 해석을 해보면 http_user_agent가 $agent에 저장됩니다. remote_addr는 $ip에 저장됩니다. $agent에 from이 있으면 exit 합니다. chall8 테이블의 id컬럼의 개수를 $count_ck에 저장하고 $count_ck가 70 이상이면 테이블을 초기화 합니다. agent컬럼에서 값이 http_user_agent인 id를 찾는 쿼리를 $result에 저장합니다. 쿼리의 결과는 $ck에 저장됩니다. $ck 중 첫 번째 값이 admin이면 문제가 풀립니다. $ck가 존재하지 않으면 insert into로 chall8 테이블에 넣어주고 $count_ck를 출력해줍니다. 드림핵 강의 ..

    [Webhacking.kr] Challenge old-09 write-up

    [Webhacking.kr] Challenge old-09 write-up

    문제 화면입니다. 문제의 소스 코드입니다. 1,2,3을 클릭하면 각각 no=1,2,3이 추가된 페이지로 이동합니다. no 3의 id를 찾으면 되는 문제입니다. 또한 특정 단어에 대한 필터링을 하고 있습니다. 여러 가지를 넣어본 결과 필터링되는 단어는 아래와 같습니다. and or && || > < = 공백 ' ascii 등이 있습니다. 필터링이 되지 않는 단어 중 if가 있으므로 활용해보겠습니다. 파이썬으로 id의 길이를 구해줍니다. bit 길이는 필터링 때문에 구해줄 수 없습니다. id가 영단어임을 가정하고 문제를 풀었습니다. 싱글쿼터가 막혀있으므로 16진수를 사용해줍니다. 실행 결과 id가 나왔습니다. 대문자로 넣어주니 안돼서 소문자로 바꿔서 제출하자 문제가 풀렸습니다.

    [Webhacking.kr] Challenge old-04 write-up

    [Webhacking.kr] Challenge old-04 write-up

    이 문제는 라이트업을 보고 작성하였습니다. https://esyeonge.tistory.com/83 Webhacking.kr old 4번 문제 풀이 view-source를 눌러서 소스 코드를 보자. 코드를 해석하면 다음과 같다. 1. 10000000부터 99999999 숫자 중 하나 + salt_for_you를 더한 문자열을 hash에 저장한다. (ex. 10001111salt_for_you) 2. 1에서 수행한.. esyeonge.tistory.com 문제 화면입니다. 문제의 소스 코드입니다. 랜덤으로 숫자 10000000~99999999 중 하나를 뽑고 그 뒤에 salt_for_you 를 붙인 문자열을 500번 sha1로 인코딩한 값을 맞히는 문제입니다. 해시 함수는 일방향 암호화이므로 복호화를 할 ..

    [Webhacking.kr] Challenge old-56 write-up

    [Webhacking.kr] Challenge old-56 write-up

    문제 화면입니다. hi를 클릭하니 hello~ 라고 나왔습니다. readme를 클릭하니 access denied가 나왔습니다. 한참 고민하다보니 혹시 플래그 값이 저장되어 있지 않나 싶어서 넣어보니 admin만 출력됐습니다. search를 통해 플래그를 찾는 문제임을 알게 되었습니다. 이제 파이썬으로 플래그를 찾는 코드를 짜주겠습니다. 플래그를 하나씩 아스키 값으로 찾는 코드입니다. 범위는 48~126까지로 잡았습니다. 코드 실행 결과 왜 그런진 모르겠지만 ? 문자 다음으로 문자를 찾지 못하고 루프하고 있어서 강제 종료 시키고 마지막에 플래그를 닫는 문자인 } 를 추가해서 auth 탭에 인증하면 문제가 풀렸습니다. (플래그 값은 대소문자를 구분하지 않습니다)