Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 화학물질안전원
- 여행
- 국가정보원
- 화학물질
- 대외활동
- 연구모임
- suninatas
- 웹 해킹 입문
- 화학물질불법유통온라인감시단
- 불법유통근절
- UKPT level
- codeup
- 불법유통
- 프로젝트
- 국가기록원
- 경기팀
- 12기
- 국정원
- webhacking
- 파이썬
- 정보보안
- Service
- UKPT
- MITRE ATT&CK
- PHP
- HTML
- 기타정보
- Los
- nurisec
- 도구모음
Archives
- Today
- Total
agencies
[프로젝트] 홈페이지 구축 (검색바 추가 및 XSS방어) v0.7 본문
<script>alert(1)</script>
를 입력하면 위와같이 xss가 발동된다.
이를 해결하고자 htmlspecialchars() 함수를 이용했다.
$sub = htmlspecialchars($_POST["subject"]);
$user = htmlspecialchars($_POST["user"]);
$comm = htmlspecialchars($_POST["comm"]);
검색바 부분을 추가했다.
<div style="margin: 20px auto; width: 1000px; text-align: right;">
<form action="" method="get" >
<input type="text" name="search" placeholder="검색어를 입력하세요" style="height:21px; border: 2px solid black;margin-left:5px;padding:3px;">
<input type="submit" value="검색" style="background-color:white;width:50px">
</form>
</div>
mysql 검색 부분도 기존에는 id값만 order by desc로 했었는데 if ~ else 구문을 주어 GET방식으로 search에 값이 있을 경우 다음과 같이 데이터베이스에서 조회를 한다.
<?php
$per_page = 10;
$page = isset($_GET['page'])? $_GET['page'] : 1;
$start_from = ($page-1)*$per_page;
if(isset($_GET['search'])&&!empty($_GET['search'])){
$search = mysqli_real_escape_string($connect, $_GET['search']);
$query = "select * from board where title like '%$search%' or comment like '%$search%' order by id desc limit $start_from, $per_page";
}else{
$query = "select * from board order by id desc limit $start_from, $per_page";
}
mysqli_real_escape_string 함수같은 경우 sqli 를 방어한다.
title과 comm에 검색하고자 하는 글자가 있을 경우 이를 가져옵니다.
'Ⅲ. 정보보안' 카테고리의 다른 글
[프로젝트] LOS v0.1 (0) | 2024.03.09 |
---|---|
[프로젝트] 홈페이지 구축 (로그인 설정) v0.8 (0) | 2024.03.02 |
[프로젝트] 홈페이지 구축 (게시판 구축) v0.6 (0) | 2024.03.01 |
[프로젝트] 홈페이지 구축 (mysql 연동) v0.5 (0) | 2024.02.29 |
(중요) [프로젝트] 홈페이지 구축 - 파일 업로드 취약점 (0) | 2024.02.26 |