목록WEB HACKING (21)
정구리의 우주정복
빠바밤 시험 끝나고 다시 등장 ~!제대로 공부는 아마 다음주 월요일부터 시작할거지만 (좀쉬고싶다)wargame.kr 이 새로 열렸다는 소식을 듣고 너무 궁금해서 들어가봤다 가장 쉬운 문제는 already got 이다 can you see HTTP Response header ?HTTP Response header 보는 법에 대한 문제인것같다 start 를 눌러 들어가보면 이미 키를 가졌다는 메세지가 나온다 Http Header 을 확인해보자 크롬에서 F12 누르고 -> network 에 들어가 already_got 의 내용을 확인한다(만약에 already_got 이 없다면 새로고침을 해주자 !) 그럼 저기에 플래그 값이 뿅 하고 있다 Clear !
껄껄 쪼무래기 등장 31번 문제를 풀어볼거다 딱 들어가면 이렇게 나온다 $port=rand(10000,10100); 랜덤하게 10000~10100의 숫자를 $port라는 변수에 넣어준다 $socket=fsockopen("$_GET[server]","$port",$errno,$errstr,3) or die("error : $errstr"); 우선 fsockopen 함수는 fsockopen('연결할 도메인이나 ip','포트번호','에러','에러메세지','연결시도시간')이렇게 생겼따 $_GET[server] 에는 내 컴푸터의 외부 접속 ip 가 들어가고$port에는 10000~10100의 임의의 숫자가 들어간다$errno 에는 에러의 번호$errstr에는 에러 메세지가 들어가게 된다 그리고 연결이 실패하게 되..
뚜둥 등장 처음에 들어가면 SQL INJECTION 이라고 써져있는 화면이 나온다 쏘쓰를 봐보쟈index.phps 로 들어가라고 하니까 가보도록 하자 index.phps 의 쏘쓰다 no값을 받고 eregi 로 문자열들을 필터링 해주고 select id from challenge where id='guest' and no=($_GET[no]) or die("query error")이런 쿼리문이 있다 그리고 solve의 조건은 id가 admin 일 때다 저번에 sql injection 문제랑 푸는 조건은 같다 ! 일단 input에 값을 넣어보자 1을 넣은경우에는 guest 라고 나온다 2를 넣은 경우에는 이렇게 출력이 된다 no id 1 guest ? admin 이러한 형태의 테이블이 아닐까 라고 생각을 해..
뜨든 39번 문제 풀이를 들고왔읍니다 일단 들어가면 이런 입력창이 띠-용 쏘스를 봐볼게욤 최대 길이가 15인 입력창이있고 제출버튼이있네용 index.phps를 볼게욤 index.phps 입니당 POST형식으로 id값을 받아오고 str_replace를 이용해 \\를 공백으로 '를 '' 로 바꿔버립니다그리고 id 값을 15자리로 짤라버리네요 그리고 select 쿼리문의 맨 마지막에 ' 가 없어서 쿼리가 완벽하게 끝나지 않은 상태입니다 이상태에서 입력값을 넘겨주면 이런 문구가 나오게 됩니다 그래서 쿼리문을 끝내기 위해 ' 를 사용하면 '가 두개가 되어버려 해결이 되지 않습니다 그래서 떠오른 방법은 '를 맨마지막에 넣어주면 어차피 문자열을 15글자로 잘라버리니까 두개중에 하나만 들어가서 쿼리가 완성되지 않을까 ..
38번 문제를 풀이해 볼거당근데 이건 약간 얻어걸린 느낌이라서 내 풀이가 정확하다고는 못하게땨그냥 나는 이렇게 풀었다는거임 들어가보면 이런 화면이 나온다 LOG INJECTION을 이용하는건가본데..사실 로그 인젝션에 대해 잘 모른다 껄껄.. 이런게 있는지도 방금 처음 알았다 공부해야지 어떠한 값을 넣어 로그인을 하는건가보다쏘쓰를 봐보자 별건 없다 admin.php를 봐야하는것 같은데 밑에 Admin 버튼을 누르면 나오는듯 ! 확인해보자 힌트가 admin 이라고 한다 그렇다면 입력ㅎㅐ보자 ! admin을 입력했더니 You are not admin 이라는 문구가 나온다 그렇다면 다른걸 입력하면 어떨까 ??? 그래서 hello 라는걸 넣어줬는데 내 아이피 값:hello 이렇게 어떤 아이피의 사람이 어떤 값을..
정구리등장 뚜둔 ! 24번을 풀이해 볼거임둥 우선 처음에 들어가면 client ip 와 agent라고 되어있고 옆에 값이 쭈루룹 나와있는데 가렸따그리고 밑에 Wrong IP! 라고 써져있다 쏘쓰를 봐보자 쏘쓰코드다 ! 밑에 주석처리가 된 부분을 보면 index.phps를 확인해보라구 한다 index.phps 쏘쓰다 분석해보자 https://j-ungry.tistory.com/10 ↑ extract 을 대략 정리해놓은 글임 extract($_SERVER) 과 extract($_COOKIE)이 사용되고 이후에REMOTE_ADDR에 값이 없으면 $_SERVER[REMOTE_ADDR]의 값을 넣어준다(이때 $_SERVER[ADDR]에는 접속한 사용자의 IP가 들어가게 된다) $ip 에 REMOTE_ADDR을 넣..
extract() 함수는 배열속의 키값을 변수로 만들어주는 역할을 한다 예를들어 $_GET[a]="Hello";$_GET[b]="World";extract($_GET); echo $a;echo $b; 라고하면 Hello World 가 출력되는 거다 취약점이 있다고 하는데 어떤식이냐면 이렇게 소스가 있다고 했을때 만약에 ?a=easy 라고 값을 주면 a의 값이 변해 echo 에서 test가 출력되는것이 아니라 easy라고 출력된다. 그래서 쓰려면은 변수 선언 전에 extract을 사용하거나 아니면한번 extract를 사용한다음에 변수를 덮어쓰기 해주면 괜찮다 ! 근데 변수 이름 모르면 사용할수 업따 !
sql 인젝션 알못이라서 결국 마지막에 풀이를 봐버렸기 때문에 카테고리는 study인 걸루 .. 시작하자마자 sql injection 이래서 잔뜩 쫄았다 리얼 index.phps를 봐보자 쏘쓰코드다 eregi(" |/|\(|\)|\t|\||&|union|select|from|0x",$_GET[no])) exit("no hack") 라고한다select, , from 등등등 이런 문자들이 들어가면 종료하게 된다 ! q 에는 select id from challenge18_table where id='guest' and no=$_GET[no] 라는 쿼리가 있다 만약 no 가 guest와 일치하면 hi guest 를 반환해주고id= admin 이고 no 가 admin꺼랑 일치하면 solve ! 값을 입력하면 n..