350
-
[Renewal] webhacking.kr old-35 [350]$ 웹 해킹 $/webhacking.kr 2020. 1. 11. 12:41
문제를 확인해 보면 아래와 같이 입력 칸이 있습니다. 소스코드를 확인해 보겠습니다. 일단 소스코드를 보면 id의 값의 길이가 5보다 크면 안된다. 또한 id, ip, phone 순으로 insert가 가능합니다. id 파라미터로만 admin을 필터링 하기 때문에 phone 파라미터로 insert based sql injection을 해서 admin에 제아이피를 넣어서 아래의 구문을 참으로 만들어서 문제를 풀이해 보도록 하겠습니다. ?phone=1),(id,ip,phone) 을 넣으면 insert 2개를 진행할수 있습니다. 그래서 아래와 같이 파라미터를 넣으면 성공을 합니다.
-
[Renewal] webhacking.kr old-8 [350]$ 웹 해킹 $/webhacking.kr 2019. 12. 3. 18:41
guest 라고 하는 군요! 소스코드를 확인해 보겠습니다. 먼저 HTTP_USER_AGENT를 이용한 SQL Injection으로 확인이 되고, $ck[0]의 값이 admin이면 Clear가 되는 문제이지만 아마도 guest 라고 뜨는거로 보아 Default 값은 guest 로 되어 있는것 같습니다. 하지만 $ck의 값이 없을때에는 insert 쿼리문을 이용해서 테이블에 데이터를 넣을 수 있습니다. 쿼리문을 보시면 아래와 같습니다. 제가 HTTP_USER_AGENT에 데이터를 프록시 툴을 이용해서 넣어 보겠습니다. 이런식으로 admin을 가지고 있는 ws1004라는 $agent를 삽입해 준뒤 다시 프록시를 잡고 User-Agent에 ws1004를 Request를 하면 아래와 같이 출력이 됩니다. 왜 ws..
-
[Renewal] webhacking.kr old-3 [350]$ 웹 해킹 $/webhacking.kr 2019. 11. 19. 20:05
위의 판에다가 네모로직을 하면될것 같습니다. 그리고 solved를 누르면 다음과 같은 창이 출력이 됩니다. 해당 화면을 확인할 수 있고 소스코드를 확인해 봤습니다. 히든 값이라고 하네요 매우 거슬리게 생겼습니다. 빈칸에 admin을 넣고 확인을 해보니 다음과 같았습니다. 자신의 IP와 answer에 아까본 데이터가 들어가 있습니다. 그렇기 때문에 해당 값을 참으로 만들면 Clear가 되는 문제가 아닐까 라는 생각을 했습니다. 이렇게 데이터를 변경하고 admin으로 접속을 해보니 아래와 같았습니다. 값이 그대로 출력이 됩니다. or 가 필터링 됬다고 생각을 했고, || 로 변경해 보겠습니다. 그리고 확인해 보았습니다. 그대로 출력이 되었고, 이는 싱글쿼터 문제라고 생각을 했습니다. 싱글 쿼터로 마무리를 좀..