본문 바로가기

sql

(19)
Webhacking.kr 8번 문제 풀이 8번 문제에 들어가니 어서오라고 한다. 코드를 보아하니 이 문제의 admin이 되는것이 목표인 모양이다. 그런데 맨 위쪽을 보니 IP와 User-Agent를 수집하고 있다. (이쯤에서 대충 User-Agent로 SQL 인젝션 할것 같다는 감이 왔다.) 위와같이 생각하던 찰나, 다음 코드를 발견하게 된다. User-Agent값과 IP를 활용하여 등록을 하는 모양인데, Prepared statement등의 별다른 요소가 없는것을 보아 SQL 인젝션이 가능할것이라고 가늠할 수 있었다. User-Agent값이 담기는 $agent에 인젝션 구문을 삽입하고 SQL의 주석인 #을 활용하여 뒷부분을 비활성화 시켜주면 될 것 같다. 따라서 다음과 같은 구문을 생각해내었다. qwert', '[아이피]', 'admin' 우..
HackCTF - Web - Login 풀이 문제를 들어가면 다음과 같은 로그인 폼이 기다리고 있다. 친절하게 코드를 볼 수 있는 버튼을 마련해둔 것을 확인할 수 있다. 저 코드는 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
wargame.kr tmitter 풀이 오늘은 wargame.kr에 있는 tmitter 문제를 풀어봅시다. 사이트에 들어가면 회원가입과 로그인 메뉴가 반겨줍니다. 이 상태에서는 뭘 해야할지 모르니 당연히 소스보기를 통해 주석을 확인합니다. 확인한 결과 admin으로 가입해야한다는 사실을 알게 되었습니다. 그래서 Sign Up 버튼을 눌러 들어가 admin / adminadmin 을 치고 가입하려고 하니 admin은 이미 존재한다며 가입을 거부했습니다. 하지만 문제 설명에서 주어진 SQL 구문인 id char(32) 을 준것으로보아 받은 값이 사이즈(길이)를 초과할 경우에는 초과된 부분을 제외한 값을 넣어주는 mysql의 특성을 이용하면 풀릴것 같은 느낌이 들었습니다. 따라서 32로 설정되어있던 maxlength값을 1 증가하여 33으로 설정해..