HTML이란?

Programming/HTML 2017. 12. 7. 18:14

HTML(HyperText Markup Language)웹페이지를 만드는 언어로 웹브라우저 위에서 동작하는 언어다.

 

HTML 문서 구조 : HTML 문서는 파일의 확장자가 html 혹은 htm으로 끝남. 최상위 태그로 <html>을 사용한다. 그 하위에 <head>태그와 <body>태그를 컨텐츠로 가지고 있음. 
  - <head> 태그 : 문서를 설명하는 태그로 제목이나 키워드 같은 정보를 담음
  - <body> 태그 : 문서의 내용을 담음

  - 메타데이터 : 데이터를 설명하는 데이터를 의미, 태그가 대표적인 메타데이터임.

 

HTML 파일 : HTML 코드를 파일에 저장하고 웹브라우저에 로딩하면 웹페이지가 생성됨. HTML 파일은 텍스트를 편집할 수 있는 에디터로 만들 수 있고, 확장자명으로 html 혹은 htm을 사용.

 

DTD(Doctype) : 브라우저에게 해당 HTML이 어떤 표준을 따른 것인지를 알려주는 것. 문서의 제일 위에 위치한다.

 

body 태그 : html바로 밑에 내려오면서 문서의 내용을 담아내는 태그

 

예시

<html>
    <head>

문서를 정의하는 데이터

</head>

<body>
    문서에 표시되는 컨텐츠
</body>

</html>

'Programming > HTML' 카테고리의 다른 글

iframe, frame  (0) 2017.12.11
목록  (0) 2017.12.11
이미지 태그  (0) 2017.12.11
문단, 줄바꿈, 띄어쓰기, 링크  (0) 2017.12.07
태그(tag)  (0) 2017.12.07
블로그 이미지

꼴통보안인

,

해당 취약점은 XML Injection을 이용하여 로그인하는 취약점이다. 우선 문제를 살펴본다.

 

 

superhero로 로그인하면 되는 문제이다. 우선 '(싱글쿼터)를 입력하여 에러를 확인한다.

 

 

xml 관련 에러가 나온다. xml을 이용해야 하는게 맞고, 로그인이기 때문에 and 연산으로 id와 비밀번호를 호출한다고 추측할 수 있다. 이제 참이되는 'or 1=1 or ' 구문을 삽입했다.

 

 

구문 삽입 결과 neo로 로그인 되었다.

블로그 이미지

꼴통보안인

,

해당 취약점은 SOAP를 사용하는 웹 서비스의 SQL Injection 취약점이다. 접속하여 Go 버튼을 누르면 We have 100 movie tickets available in our stock.이라는 메시지가 나온다. 100장의 티켓을 가지고 있고 예매가 가능하다는 얘기인 것 같다.

 

 

url에 &action 앞에 ' or 1=1#을 입력해본다.

 

 

입력 결과 100이라는 숫자가 사라졌다. 또한 urlencoding으로 값이 전송되는 것을 url을 통해 확인했다. 그리고 error가 생긴듯 하다. 이번에는 ' or '1'='1을 입력했다.

 

 

 

입력 결과 100이 다시 출력되었다. ' or length(database())=5 and '1'='1을 입력하여 DB명의 길이가 5글자인 것을 확인했다.

 

 

' or length(database())=5 and '1'='1 구문을 변경하여 DB명, 테이블명, 컬럼명, 컬럼 내의 데이터 값을 확인할 수 있다.

블로그 이미지

꼴통보안인

,