WEB2 - Python

활용 - 보안(XSS)

수업소개

보안 공격의 사례 중 하나인 XSS(Cross-Site Scripting)을 살펴봄으로서 보안이 무엇인가를 체험해보고 Python에서 이 문제를 해결하는 방법을 알아봅니다. 

 

 

강의

 

 

소스코드

변경사항

index.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/local/bin/python3
print("Content-Type: text/html")
print()
import cgi, os, view
form = cgi.FieldStorage()
if 'id' in form:
pageId = form["id"].value
description = open('data/'+pageId, 'r').read()
description = description.replace('<', '&lt;')
description = description.replace('>', '&gt;')
update_link = '<a href="update.py?id={}">update</a>'.format(pageId)
delete_action = '''
<form action="process_delete.py" method="post">
<input type="hidden" name="pageId" value="{}">
<input type="submit" value="delete">
</form>
'''.format(pageId)
else:
pageId = 'Welcome'
description = 'Hello, web'
update_link = ''
delete_action = ''
print('''<!doctype html>
<html>
<head>
<title>WEB1 - Welcome</title>
<meta charset="utf-8">
</head>
<body>
<h1><a href="index.py">WEB</a></h1>
<ol>
{listStr}
</ol>
<a href="create.py">create</a>
{update_link}
{delete_action}
<h2>{title}</h2>
<p>{desc}</p>
</body>
</html>
'''.format(
title=pageId,
desc=description,
listStr=view.getList(),
update_link=update_link,
delete_action=delete_action))

 

댓글

댓글 본문
  1. scientist
    220819
  2. 윤윤윤윤윤
    it's fun!
  3. labis98
    2022.02.28 좋은 강의 한번 더 들어요~~~!
  4. pmxsg
    2022.02.07
  5. labis98
    20220120 좋은 강의 항상 감사합니다.
  6. 2021.09.11 감사합니다
  7. 장수혁
    아마 한글 사용해서 그러실 거에요. 확인해보세요!!
    대화보기
    • 이택진
      210521
    • 초딩 개발자
      2021/05/10
    • jeisyoon
      2021.04.11 보안(XSS) - OK
    • 박민지
      2021.01.17
    • cgoing
      cgoing / 2020.10.04
    • 로빈
      xss흥미롭습니다
    • 매리미
      어떻게 변수 description 에 메소드 replace가 오는 거죠?
    • 악어
      2020-03-28 완료
    • 스티븐잡숴
      완료
    • import.위드
      좋은강의 감사합니다!
    • 하까
      자바스크립트 코드를 이용해서 create 할 때 alert창이 뜨지도 않고 다른 링크 사이트로 이동되지도 않으면 어디서 문제가 난걸까요? ㅠㅠ process_create.py 와 index.py코드를 모두 확인해봤는데도 모르겠네요
    • 쑤우
      수강완료. 감사합니다.
    • 굼벵이
      완료
    • 20191007 Ted 완료!
    • JuicyFresh
      감사합니다.
    • Seankim
      xss
    공동공부
    graphittie 자세히 보기