[Lord of SQL Injection] #2

김태현·2022년 8월 28일
0

Lord of SQL Injection

목록 보기
2/7
post-thumbnail

이번에 못쓰는 문자열은 다음과 같다.

  • prob, _(언더바),.(점), (역 슬래쉬)

이점은 Level 1이랑 다른 게 없어 보인고 쿼리를 본다.

query = "select id from prob_cobolt where id='{_GET[id]}' and pw=md5('{$_GET[pw]}')";

이번에 는 id에 해당하는 pw를 md5를 이용해서 해싱하고 해싱 값을 비교한다.

비밀번호는 일방향으로 암호화, 생체정보는 양방향 암호화하는 것이 현재 개인정보보호법의 기준이다. 물론 md5같이 충돌이 발견된 불안정한 알고리즘으로 하면 안 된다.

cobolt의 코드에는 저번 gremlin의 코드의 Injection이 유효하다.

다음 아래와 같이 입력해본다.

admin이 아니라 rubiya라고 한다. 즉 이번에는 admin으로 접근을 해야 하는 걸 알 수 있다.

해결방법

admin계정의 존재는 알려주었으니까 그냥 admin을 가져오라고 query를 하고, query를 작은따옴표(')로 닫아버리면 끝이다.

profile
보안을 공부중입니다

0개의 댓글