• WriteUp

    webhacking.kr sqli vulns

    45번 문제의 소스다 $_GET[id]=mb_convert_encoding($_GET[id],’utf-8′,’euc-kr’); $data=@mysql_fetch_array(mysql_query(“select id from members where id=’$_GET[id]’ and pw=md5(‘$_GET[pw]’)”)); if(eregi(“admin”,$_GET[id])) exit(); if(eregi(“from”,$_GET[id])) exit(); if(eregi(“union”,$_GET[id])) exit(); if(eregi(“limit”,$_GET[id])) exit(); if(eregi(“union”,$_GET[pw])) exit(); if(eregi(“pw”,$_GET[pw])) exit(); if(eregi(“=”,$_GET[pw])) exit(); if(eregi(“>”,$_GET[pw])) exit(); if(eregi(“”,$_GET[pw])) exit(); if(eregi(“

  • WriteUp

    wechall.net logical bug

    wechall.net은 많은 워게임들을 연동시켜서 점수를 추합해 순위를 매겨주는 사이트이다. 연동을 위해서는 wechall.net 서버에서 각 워게임의 유저의 점수를 알 수 있어야 한다. 그때문에 연동할 워게임에서는 userscore.php 라는 파일을 만들고, wechall.net 서버에서 오는 요청에 응답하는 코드를 넣는다. 예를들자면 webhacking.kr 이라는 워게임의 rubiya / rubiya805@gmail.com 계정을 wechall.net에 등록하려 할 경우에 아래와 같은 순서를 거친다. 1. 내가 wechall.net에 webhacking.kr / rubiya / rubiya805@gmail.com 라는…

  • WriteUp

    2016 Whitehat Contest Final writeup

    침해대응은 2문제가 출제되었고 문제당 서버 1대씩을 각 팀에게 지급했다. 자신의 서버의 취약점을 찾아내 Flag를 인증하면 ssh계정을 주어 패치가 가능하고, 다른팀의 패치가 안된 서버를 공격해 추가득점이 가능하다. —- 경상북도 문제는 회원가입, 로그인, 사진올리기 기능이 있다. $uploadfile = $uploaddir . basename($_FILES[‘ufl’][‘name’]); if (move_uploaded_file($_FILES[‘ufl’][‘tmp_name’], $uploadfile)){ 사진을 올릴 때 별도의 필터링이 없으니 webshell upload가 가능하다. 다들 간단히 취약점을 찾아내어 인증하고 패치했다. 그런데 사실 나는…

  • Docs

    RCE by lfi using php session file without angle bracket

    개요 lfi는 local file include 의 줄임말로 공격자가 원하는 파일을 include 시킴으로써 소스코드를 leak하거나 임의의 코드를 실행시키는것이 목적이다. include를 통해 원하는 코드를 실행시키려면 payload가 담긴 파일이 서버내에 있어야 한다. ( 서버 외부에 있다면 remote file include 공격으로 분류하며 해당 기법은 서버 설정을 심하게 탄다. ) /proc/self/environ, access_log, error_log 등 다양한 방법이 제시되었으나 권한, 셋팅등의 이슈로 성공률이 희박해 좋은 대안이 되지…

  • WriteUp

    Secuinside2017 MyGF write-up

    else if($page == “read”){ $col = addslashes($_GET[‘col’]); $col = preg_match(“/^no$/ismU”,$col) ? $col : “”; There is SQL Injection vuln at read page because of m modifier We can get encrypted content like this. http://ip/?page=read&col=no%0a=0%20union%20select%201,content,3,4%20from%20board%20where%20no=1%23&no=1​ We need aeskey but mysql user board can’t access aeskey database. $contentdec = mysql_fetch_array(mysql_query(“select *, aes_decrypt(unhex(content),unhex(‘”.$aeskey[‘aeskey’].”‘)) as plain from(select * from board.board join member.members) as a…

  • WriteUp

    webhacking.kr stored xss vuln

    webhacking.kr의 48번 문제 (http://webhacking.kr/challenge/bonus/bonus-12/ ) 는 파일 삭제 과정에서 불충분한 유저 입력 검증으로 인한 OS command injection 을 다루는 문제입니다. 해당 문제 내에서 “운영자가 의도하지 않은 취약점을 이용한 Stored XSS 공격”이 가능합니다. get index.php’s source code 문제 내에서 파일을 업로드하고 코멘트를 달게되면 자동으로 아이콘이 추가됩니다. 해당 아이콘은 닉네임의 길이에 따라서 3.jpg, 4.jpg, 5.jpg 등의 이름을 가지게 됩니다. 그런데 여기서 1.jpg에…