본문 바로가기

웹 해킹84

웹쉘 Web Shell, PHP File Upload 취약점 참고자료 http://darksoulstory.tistory.com/324http://code1018.tistory.com/96?category=939350http://code1018.tistory.com/94?category=939350 웹쉘은 공격자가 원격에서 웹서버에 명령을 수행할 수 있ㄷ록 작성한 웹스크립츠(asp,php,jsp,cgi) 파일이다. 이때 zip, jpg, doc와 같은 데이터 파일종류 이외에 악의적으로 제작된 스크립트 파일인웹쉘을 업로드하여 웹 서버를 해킹하는 사고가 빈번하고 있다.이와 같이 서버 명령을 실행할 수 있는 웹 쉘을 이용하여 웹서버에 명령을 실행해 관리자 권한을 획득한 후 웹 페이지 소스코드 열람, 서버내 자료 유출, 백도어 프로그램 설치 등의 다양한 공격이 가능하다... 2018. 2. 12.
webhacking.kr 41번 소스코드는 다음과 같다. 주석에 index.phps가 있으니, index.phps를 살펴보자! 파일명에 .사라짐 / \. htaccess .htaccess 길이가 10보다 길면 exit("no")!는 널로! 파일명이 > 이나 이나 < 이 들어갈 수 없으므로 버프 수트를 이용해서 고쳐주었다.copy($cp,"$hidden_dir/$fn");그러면 이 부분에서 에러가 난다! hidden_dir을 알아냈다! 이제 정상적인 파일을 업로드 하여URL을 완성시켜준다! http://webhacking.kr/challenge/web/web-19/dkanehdkftndjqtsmsdlfmadmlvhfejzzzzzzzzzkkkkkkkkggggggggg/010png4cef331a6b10d6a8.. 2018. 2. 12.
webhacking.kr 37번 index.phps가 있었다! $pw를 보내주는데, 저걸 받아야 한다.하지만, 지금 127.0.0.1로 보내는데, 우리걸로 보내게 만들어야 한다!이미 파일이 존재해야 하는데, 미래의 tmp-어쩌구를 미리 만들어놓는다! 그리고 포트포워딩으로 패스워드를 받으면 끝! 2018. 2. 12.
webhacking.kr 21번-BLIND SQL INJECTION 소스는 다음과 같다 BLIND SQL INJECTIONResult : text는 no라는 이름으로 넘어가고!!id와 pw라는 이름은 hidden 타입으로 넘어간다! 이때, no에 1과 2를 넣으면 true가 나오고 (id와 pw에 상관없이) no에 나머지 값이 들어가면 모두 false가 나온다. 즉 no id pw 1 2 select * from table where no=$_GET[no]그래서 결과가 있으면 true, 결과가 없으면 false! 이제 blind sql injection을 할 것인데 where no=1 and length(id)=5이런식으로 대입해서 id와 pw의 길이를 알아낸다! 길이를 알아낸 결과 다음과 같다no id pw 1 5글자 5글자 2 5글자 19글자 보통 id는 guest또.. 2018. 2. 12.
webhacking.kr 12번 소스코드는 다음과 같다! javascript challenge WorkTimeFun은 다음과 같다. var enco=''; var enco2=126; var enco3=33; var ck=document.URL.substr(document.URL.indexOf('=')); for(i=1;i 2018. 2. 12.
webhacking.kr 10번 소스는 다음과 같다 O | | | | buy lotto 에이...너무....간단하다....클릭하면 left+1이 되고, left=800이 되면 끝!그럼 800번 클릭?NO버프 수트로 쭉 뒤로 땡겨놓으면 되겠군!CLEAR! *이상하게 크롬에서는 안 먹었다 IE로 했다! 2018. 2. 12.
webhacking.kr 61번-SQL INJECTION(column alias) id가 없다면, id는 'guest'가 된다! id에 \(, \), union, select, challenge, from, , ,by, \. 은 필터링된다! Access Deninedid의 길이가 18자보다 크면 Access Denied select id from c_61 order by id desc limit 1 내림차순으로 정렬, limit 1(출력의 갯수를 1개로 제한) q[id]을 출력! q[id]가 admin이어야 clear! select 'admin' as id를 하면 id 컬럼 안에 admin이 들어간다.근데 '이 안먹으므로 admin을 16진수로 우회하여 넣어준다! 2018. 2. 12.
webhacking.kr 59번-SQL INJECTION if($_POST[lid] && $_POST[lphone]){$q=@mysql_fetch_array(mysql_query("select id,lv from c59 where id='$_POST[lid]' and phone='$_POST[lphone]'"));if($q[id]){echo("id : $q[id]lv : $q[lv]");if($q[lv]=="admin"){@mysql_query("delete from c59");@clear();}echo("back");exit();}}if($_POST[id] && $_POST[phone]){if(strlen($_POST[phone])>=20) exit("Access Denied");if(eregi("admin",$_POST[id])) exit("Access D.. 2018. 2. 12.
webhacking.kr 52번-HEADER INJECTION HEADER INJECTION헤더생성클리어 조건 id: $_GET[id] clear: sonysame $_GET[id]로 헤더인젝션을 해서 id=sonysame 쿠키를 생성하세요. http://webhacking.kr/challenge/web/web-27/?id=sonysame%0d%0aclear:%20sonysame 2018. 2. 12.