write-up(web)

    [Lord of SQLInjection] goblin write-up

    [Lord of SQLInjection] goblin write-up

    문제의 소스 코드입니다. ' " `을 사용할 수 없습니다. no에 일단 1을 넣어주니 guest로 로그인이 되었습니다. 느낌 상 2번이 admin일 것 같아서 아래와 같은 구문을 넣어줍니다. no=99 or no=2 (id='guest' and no=99) 까지의 조건식은 false가 되고 뒤에 넣어준 (no=2) 구문은 true가 되어서 no가 2인 id(admin)가 나오게 됩니다. id가 admin이 되었으므로 문제가 풀립니다.

    [Lord of SQLInjection] cobolt write-up

    [Lord of SQLInjection] cobolt write-up

    문제의 소스 코드입니다. admin으로 로그인하는 것이 목표입니다. 소괄호 안이 비어있지 않으면 필터링이 되지 않습니다. 따라서 id에 admin을 넣어주고 pw를 참으로 만들어주면 됩니다. 아래와 같은 구문을 넣어주면 됩니다. id = 'admin' and (pw='aa' or 1=1)# id가 참이되고 pw도 참이 되므로 ture && ture => ture가 됩니다. 문제가 풀렸습니다~

    [Lord of SQLInjection] gremlin write-up

    [Lord of SQLInjection] gremlin write-up

    문제 화면입니다. id와 pw를 입력할 수 있습니다. where 조건을 참으로 만들면 문제가 풀립니다. id에 임의의 값을 넣어주고 그 뒤에 참이 되는 조건을 or로 걸어줍니다. 활용한 구문은 아래와 같습니다. id='aa' or 1=1# 문제가 풀렸습니다.

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

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

    문제의 첫 화면입니다. 제출을 누르면 admin이 아니라고 합니다. user로 제출한 결과입니다. guest로 제출한 결과입니다. userid 쿠키 값이 난잡한 걸 보니 base64, md5를 의심해볼 수 있습니다. (제가 알고있는게 2가지 밖에 없음..) 둘 다 base64 디코딩을 하고 나면 길이의 차이가 나는데 이는 user는 알파벳 4개 guest는 알파벳 5개로 이루어져 있기 때문입니다. 즉 알파벳 별로 md5를 수행한 뒤 다 합쳐서 base64 인코딩을 진행했던 것 입니다. 따라서 admin을 각 알파벳별로 md5를 수행한 뒤 이들을 한번에 base64 인코딩해준 뒤 userid에 넣어주고 새로고침을 해주면 문제가 풀리고 admin이 되었습니다~

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

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

    문제의 첫 화면입니다. 점수와 랭킹이 나와있습니다. 클릭하면 투표가 되서 점수가 1점 올라가며 올라간 뒤에 투표를 할 수 없게 됩니다. 쿠키 값을 보면 vote_check에 ok라는 값이 적혀있는데 이 값을 ok가 아닌 다른 값으로 바꿔주면 다시 투표를 할 수 있게 됩니다. 또한 onclick 이벤트가 발생하면 ?hit=ssongk로 이동하는 모습입니다. 이를 이용해 파이썬 코드를 작성해 매크로 기능을 하는 코드를 작성해주겠습니다. 쿠키 값에 vote_check 값을 임의의 값(여기선 null)으로 바꿔주고 파이썬(원격지)에서 http 요청을 하므로 PHPSESSID를 적용시켜줍니다. url은 onclick 했을 때 이동하는 url을 적어주고 100번 반복시켜 실행시켜줍니다. (편의상 i와 요청 코드를 ..