web vulnerability seminar1

Post on 23-Jun-2015

959 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Web vulnerability seminar

from make to exploit

Let me introduce my self

$ https://www.facebook.com/Izayoi49ya

Contents

$ PHP + Source code auditing

$ DB & hash

$ XSS & CSRF

$ Something Injection

$ SQL Injection

$ Something else~

$ Finish

PHP??

프로그램!

int main() { if(login()) printf(“HELLO!”); else printf(“NO..”); }

웹 사이트에 들어갈때

int main() { if(login()) printf(“HELLO!”); else printf(“NO..”); }

PHP 작성방법?

$ C 문법과 상당히 유사함.

$ 자료형 대신에 $ 를 사용

ex) int a; $a;

ex) char b; $b;

$ 포인터 없음!

$ int main{} 대신 <? ?>

$ 문자열을 이어 붙이고 싶으면 „.‟ 기호

예시를 내놓아라

============= php ============

<?

echo “세상님 ㅎㅇ”;

?>

============= C ==============

int main() {

printf(“hello world!”); }

추가 예제!

=============== php =============== <? $a = 10; $b = „URYYYYY‟; echo $a.”th is ”.$b ?> ============= python ============== a =10; b = „URYYYYY‟ print a+”th is ”+b;

PHP 제어문

C랑 같음!

$a = 1;

if($a == 1)

echo “a is 1”!;

Else if($a ==2)

echo “a is 2”!;

PHP 반복문!

C랑 같음! $a = 10; while($a <0) { echo $a.”<br>”; $a = $a-1; } for ($i=0; $i<5; $i--) { echo $i; echo “<br>”; }

주상욱이 되어보자

Gugu단

<? for($i =1; $i<10; $i++) { for($j = 1; $j<10; $j++) { echo $i."*".$j."=".$i*$j; echo "<br>"; } echo "<br><br>"; } ?>

유저에게 입력을 받자.

$ GET

$ POST

$ COOKIE

GET

$ GET

페이지?변수1=값&변수2=값

./program 1 test

GET 예제

<?

$user_input = $_GET[inp];

echo “Hello! ”.$user_input;

?>

Example

<? $post_value = $_POST[„ID‟]; echo $post_value; ?>

POST로 보내기?

$ 복잡한걸 손으로 직접쓰기

$ 폼 형태를 사용

<form action=„index.php„ method='POST' >

<input type=„text' name=„value'>

</form>

추후 있을 문제를 통해서 이야기 하도록 합시다!

Cookie

$ 웹서버에 접근한 흔적

> 사용자가 누구인지..

$ 주로 서버에서 세팅해 주는 경우가 많음.

$ 웹 서버마다 다른 값을 가짐!

Cookie 확인 방법

Cookie 변경방법

문제를 풀어보자!! $ 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!!

문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!! 문제를 풀어보자!!

Source Code Auditing 1

<? $key = “???????”; $password = “Web_Hacking”; if($password == $_GET[„key‟]) echo $key; else echo “BABO”; ?> 192.168.32.66/web/get.php

Source Code Auditing 2

192.168.32.66/web/pass.php

Hint : key=?

Why?

Source Code Auditing 3

<?

$password=“?????????????";

if(!eregi("[a-z]",$_COOKIE[id])) //a~z 문자가 아니면

$_COOKIE[id]='guest';

if($_COOKIE[id]=='admin')

echo "Cong! password is : ".$password;

echo "hello! ".$_COOKIE[id];

?>

192.168.32.66/web/cookie.php

Source Code Auditing 4

<?

$Pass = “######”;

$_POST[GET] =strtolower($_POST[GET]); // 소문자로 변환

if(eregi("admin",$_POST[GET]))

exit("YOU R NOT ADMIN");

$_POST[GET]=str_replace(".","",$_POST[GET]); //변환

if($_POST[GET] == "admin")

echo "Congraturation! AUTH key is ".$Pass;

else

echo "HI! ".$_POST[GET];

?>

192.168.32.66/web/post.php

Challenge 1

<? $key = “#############” $password = “?????????????????????????” $input = $_GET['pw']; if(strcmp($password,$input) == 0) echo “You are admin!”; else echo "BABO"; ?> HINT : PHP 5.3 +

www.cert-is.com/web/strcmp.php

Challenge 2

<?

$password = “############”

extract($_GET);

if($is_admin)

echo “Hello Admin!”;

else

echo "BABO";

?>

www.cert-is.com/web/variable.php

top related