336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Web Language


static HTML 






sss(server side script)

-> 컴파일하지 않고 바로 실행 


ASP -> 절차 지향적 언어 

 -> 보안적으로 많이 취약 


ASP.NET -> ASP에서 보안 취약점 다소 보완 

  ->  객체 지향적 언어 -> 특정 부분만 떼어내서 수정이 가능 - > c#, c++ visual bsic


PHP -> apache와 주로 많이 연동하여 사용 -> apache + php + mysql ->gunuboard, zeroboard

 -> ASP나 ASP.NET 보다는 보안적으로 나음 

      -> apache가 보안이 잘 되어있기 때문에 덩달아 좋음 


JSP -> 위 언어들중에서 가장 보안이 좋음 -> JSP + ORACLE -> j for java

-> 파일업로드 






CSS(client side script)  <-> CSS 스타일 시트와는 별개 


javascript

-> 95%이상이 사용

-> 객체 지향적 언어 

-> netscape에서 개발, 대소문자 구분함 



VBScript

-> client와 server측 양면에서 사용가능 

-> 객체 지향이 아니라서 활용성이 떨어짐

-> 대소문자 구분없음 



JScript

-> Microsoft에서 javascript와 유사하게 만들었지만 IE에서만 사용가능함




-----------------------


Encoding 

내용은 같으나, 데이터의 형태를 바꾸는 방식

데이터 길이를 줄이는 용도

암호화로는 사용 불가



ASCII


URL 


HTML



Base 64

-> 인증에 관련된 부분



MS script 



--------------



ASCII 

American Standard Code for Information Interchange

미국 정보교환 표준코드

1 Byte 중 7Bit를 이용해서 0에서 127까지 128개의 문자를 구성한 코드

128개의 문자는 영어 알파벳 대문자, 소문자, 보조문자. 제어문자로 구성

영문 알파벳을 사용하는 대표적인 문자 인코딩 방법



유니코드 (범용적)

utf-8 -> 많이 씀 

euc-kr -> 한국형 



제어문자    출력문자 





-----------



URL Encoding


URL에 포함될 문자들이 안전하게 웹서버에 전달 되도록 특수한 기능을 가진 문자들을 브라우저가 인코딩하여 전달


URL meta 문자들에 대한 인코딩이 필요하다


형식 : 기존 문자열의 HEX값 앞에 %를 사용 (ASCII Table의 출력가능 문자)


한글 : UTF-8사용

FOrce Full URL ENcoding : 모든 문자열을 강제로 인코딩



------------



APMSETUP.com




------


 html / php




<html>

<head> <title>login page</title></head>

<body>

<form action="login.php" method="POST">

<input type="text" name="id" value=""><br>

<input type="password" name="pw" value="">

<input type="submit" value="OK"><br>

</form>

</body>

</html>




----



<?

$id = $_POST['id'];

$pw = $_POST['pw'];

echo "ID:".$id."<br>";

echo "PW:".$pw;

?>



------------------


Encoding Example


<html>

<title>HTML Encoding Example</title>

<body>

나는 <ABC 초콜렛>을 좋아합니다.

</body>

</html>



공백 &nlsp

<     &lt;

<     &gt;

&     &amp;

'      &apos;

"      &quot



-----------




<?

$id = $_POST['id'];

$pw = $_POST['pw'];



if($id=="admin"){

echo "<script>alert('관리자님 반갑습니다.')</script>";


}else{

echo "<script>alert('관리자가 아닙니다.')</script>";

}


?>


--------



<?

$id = $_POST['id'];

$pw = $_POST['pw'];



if($id=="admin"){

echo "&lt;script&gt;alert('관리자님 반갑습니다.')&lt;/script&gt;";


}else{

echo "&lt;script&gt;alert('관리자가 아닙니다.')&lt;/script&gt;";

}


?>



-------------



BASE64 Table


2진 데이터를 ASCII 형태의 텍스트로 표현 가능

WEB인증 중 기본 인증에 사용


끝 부분의 padding(==)으로 식별 가능

64개의 문자를 사용(영문 대, 소문자, 숫자, + /)


데이터를 6bit 단위로 표현




ABCD - ??????


1. 아스키코드표 맵핑

A B C D

-> 0x41 0x42 0x43 0x44



2. 2진수로 변환(8비트를 맞게 표현)

-> 01000001 01000010 01000011 01000100


3. 6비트로 자르기 

-> 010000 010100 001001 000011 010001 00+0000

   -> 남는 수는 자릿수 0으로 맞추기 


4. 10 진수로 변환 

-> 16 20 9 3 17 0 


5. base64 테이블로 맵핑

-> Q U J D R A 


6. 패딩 연산 

4(처음 문자열) : 1byte=8bit -> 32 %3 -> ==

나머지 0 x

          1 =

          2 ==


-> QUJDRA==




연습 문제 

http://mkgk888.cafe24.com/web/base64.php



----------



l 0x6c 01101100

u 0x75 01110101

c 0x63 01100011

k 0x6B 01101011

n 0x6E 01101110

a 0x61 01100001

s 0x73 01110011

h 0x68 01101000



011011 000111 010101 100011 011010 110110 111001 100001 011100 110110 100000

27     7      21     35     26     54     57     33     28     54     32

b      H      V     j      a   2      5      h      c      2      g


bHVja25hc2g=




--------------



c 011100

2 110110

V 010101

j 100011

d 011101

W 010110

1 110101

h 100001

b 011011

g 100000



011100 110110 010101 100011 011101 010110 110101 100001 011011 100000

...

...

...



==



























'Web' 카테고리의 다른 글

googling  (0) 2014.10.28
session and cookie  (0) 2014.10.27
modifying sources using paros  (0) 2014.10.23
HTTP and fabricating data using paros  (0) 2014.10.22
The basic knowledge of web cracking  (0) 2014.10.21
Posted by af334