개발세발보안중

[wargame.kr]tmitter Write-up 본문

CTF

[wargame.kr]tmitter Write-up

채영채영 2023. 4. 12. 17:33

char형 특징
- 고정 사이즈
- 남는 공간은 공백으로 채운다
- 값을 받아 올 때 이 공백은 자동으로 제거되며 PAD_CHAR_TO_FULL_LENGTH 모드를 활성화하면 공백까지 다 읽어온다
- 삽입되는 데이터가 선언된 길이보다 작으면 공간은 스페이스로 채워지므로 공간의 낭비가 발생하여 고정길이에 해당하는 데이터만 CHAR로 선언하는 것이 좋다 

위에서 id와 ps는 char(32)로 고정 사이즈라고 한다. -> 그러면 32자 외에는 검증을 하지 않게 된다. 
즉, admin을 포함하지만 33자인 id를 새로 생성 한다면, 32자까지만 검증을하기 때문에 admin으로 중복 가입이 가능하다.

sign up page 의 elements

위의 코드에서 id의 maxlength 를 33으로 수정한다. 
그 후, admin               1            // admin + 26번의 공백 + 1
와 admin12                                        // 최소 7자리 PS 
를 입력하고 join을 누른다

계정 생성이 된 것 같다.

그러면 이제 have an account? Sign in 으로 들어가서 위에 생성한 계정으로 로그인을 해본다.

여기서 잠시 막혔었다 

33자리 'admin               1'가 아닌 32자리로 로그인을 해야 로그인이 성공했다.

서버쪽에서 32자리로 id를 끊어낸 값을 id로 계정을 생성한다는 것이다. 

그렇게 나의 admin 계정은 사라지고 말았다 

'CTF' 카테고리의 다른 글

[드림핵]error based sql injection Write up  (0) 2023.05.03
[드림핵]sql injection bypass WAF Write up  (1) 2023.05.03
[wargame.kr]strcmp Write-up  (0) 2023.04.12
[드림핵]session Write-up  (0) 2023.04.12
[드림핵]image-storage Write-up  (0) 2023.04.12
Comments