메인화면만으로는 무엇을 하는 문제인지 알 수 없으므로 소스를 바로 보겠다.
trim()은 문자열 양쪽으로 존재하는 공백을 제거시켜주는 함수다.
getenv("HTTP_USER_AGENT")는 접속한 컴퓨터의 웹브라우저 정보를 얻어오는 함수다.
agent는 내가 접속한 브라우저의 정보라고 할 수 있다.
ip는 내 아이피주소
addslashes()함수는 문자열 속 따옴표를 오류가 발생하지 않게 역슬래쉬로 변경시켜주는 함수다.
웹브라우저 정보 속 작은 따옴표를 역슬래쉬로 바꿔주는 것이다.
result에는 agent가 내 웹브라우저와 같은 것들이 들어가게 된다.
ck[0]이 admin이 되어야 하는데 sql인젝션을 해줄만한 부분을 못찾겠어서 구글링의 힘을 조금 빌렸다..
우선 지금 화면에 done!이 출려되므로 if(!$ck)부분이 출력된다는 것인데
여기에 있는 쿼리문을 이용해야 할거 같다.
여기서 values를 agent, ip, guest로 id가 admin이어야 하는데 guest로 고정이 되어있다.
burf suite의 사용이 필수다.
User-Agent부분을 수정해주어야 하는데
현재 여기에 들어있는 내용은 내 브라우저 정보다.
지금 db에 들어있는 내용은
내브라우저내용(User-Agent), ip, guest이러한 상태인것인데
우선 guest를 admin으로 임의로 바꿔주는 내용을 하나 추가해야한다.
abcd',1,'admin')(1,
를 임의로 넣어줄것이다.
이렇게 추가해주었다.
포워드를 해주자 내가 추가한 쿼리가 들어갔는지 2가 되었다.
아니 그런데 갑자기 컴퓨터 오류로 컴퓨터가 꺼졌다 켜졌는데 자꾸 그 이후로 화면이 hi guest에서 멈춰있고 아무것도 먹히지 않는데 정말 당황스럽다... 새로 계정을 파서 해야하나싶은데 일단 이건 미해결 문제로 남겨 두는 것으로...
'문제풀이 > 보안 writeup' 카테고리의 다른 글
webhacking.kr 38번 (0) | 2021.04.08 |
---|---|
webhacking.kr 7번 (0) | 2021.04.08 |
webhacking.kr 27번 (0) | 2021.03.18 |
webhacking.kr 18번 (0) | 2021.03.18 |
webhacking.kr 35번 (0) | 2021.03.18 |