2.Cobolt 풀이.
일단 md5는 어떤 문제를 풀 때 언급한 거 같지만 간단히 소개하겠다.
md의 사전적 정의는 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며,
주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다.
md5기본 개념
세 평문(sorry, you say sorry, you said sorry)은 길이가 다르지만 해시 결과는 32개 문재(16진수)로 길이가 같다,
MD5알고리즘은 512비트 단위의 메시지 블록들에 대한 128비트(16바이트)해시값을 생성한다.
해시값을 통해 해시되기 전의 값을 추측하는 것이 불가능 하게 하는 해시의 특성덕분에 단어 하나만 틀려도 다른 값이 나온다.
단 다른 데이터를 입력해도 해시 결과값이 같을 수 있는데 이를 충돌(Collision)이라 한다. 충돌이 자주 일어난다면 좋은 해시라
할 수 없다.
MD5암호화 및 복호화
MD5 알고리즘을 이용해 각각의 평문에 대한 해시 값을 산출해 냈다(암호화)
간단한 복호화 툴을 이용하면 암호해독이 가능하므로 더이상 MD5 알고리즘을 보안 관련 용도로 사용하지 않는다.
간단히 $query = "select id from porb_cobolt where id = '{$_GET[id]}' and pw = md5('{$_GET[pw]}')"; 이고,
solve 조건이 id = admin 이다. 약간 gremlin과 문제가 비슷하다.
그래서 id = admin 주고 pw는 0보다 크거나 같거나 작을테니 pw에 md5가 있지만 주석을 쓰면 무시해도 된다.
Cf) gremlin 문제에서 조금만 응용하면 되는 거라 생각을 조금만 하면 된다.
'# Related site issues > LOS' 카테고리의 다른 글
6.Darkelf. (0) | 2018.05.07 |
---|---|
5.Wolfman. (0) | 2018.05.07 |
4.Orc. (0) | 2018.05.06 |
3.Goblin. (0) | 2018.05.06 |
1.gremlin. (0) | 2018.05.06 |