본문 바로가기

web hacking10

HTML/CSS Injection HTML/CSS Injection 모두들 HTML과 CSS는 알 것 이다. 이번 취약점은 html과 css를 이용하는 취약점 이다. HTML/CSS Injection은 HTML과 CSS 를 웹 사이트에 injection 하는 취약점이다. 실제로 잘 알려지지 않는 기술이고 운영자 입장에서 위험한 취약점이라고 인식하지 않는게 현실이다. 하지만, 실제로는 많이 위험한 취약점이다. html/css injection 시나리오 일단 해커는 많이 사용하거나 잘 보이는 정상적인 버튼 혹은 로그인 버튼이나 로그아웃 등 중요한 버튼 위에 투명한 객체를 만든다. 해당 사이트 이용자는 정상적인 버튼을 누르려고 했지만, Click hijacking에 이용될 수 있다. click 을 뺏고 공격자의 피싱 사이트로 자연스럽게 유도 .. 2023. 7. 28.
정보빼가는 SQLi 와 SQLMAP SQL injection이란, 데이터베이스에 전송되는 SQL 쿼리문을 정상적이지 않은 악의적인 구문을 입력하여 공격자가 의도한 동작을 하도록 만드는 것이다. 공격이 비교적 쉬우나 공격에 의한 피해는 매우 크게 입힐 수 있다. 예시를 들어보자면, SELECT db FROM db WHERE id = '{userInput}' 이런 간단한 로그인 logic SQL 구문이 있다고 하면, userInput에 ' or 1 = 1-- 이런 악의적인 구문을 삽입하면, SELECT db FROM db WHERE id = ''or 1 = 1--' 이런식으로 WHERE문을 우회를 해 회원가입이나 계정 없이도 로그인을 할 수 있다. WHERE 우회 보통 SQL문은 SELECT db FROM db WHERE user = '{{u.. 2023. 7. 24.
SSTI띠띠리리~~ 정적인 웹 사이트는 위에 짤처럼 정지해 있지만 멈춘게 아니다. 실제 많은 사이트들은 동적인 화면을 만드며 구현한다. SSTI취약점이 바로 그것을 이용한 것이다. SSTI가 뭔데? 템플릿 엔진을 사용할때 템플릿 엔진에 공격자의 공격 구문이 템플릿에 injection 되면서 생기는 취약점이다. 템플릿들은 각각 언어마다 아니면 개발자 취향마다 다 쓰이는 템플릿 엔진이 달라서 문법은 다를 확률이 높다. 템플릿별 문법을 찾아야한다. 하지만 거의 대부분 {{}} ; ${} 이정도 문법을 지원한다. 템플릿 코드 예시는 template = ''' 유저 아이디: {{user.uid}} 유저 레벨: {{user.level}} ''' % content 이정도 예시를 들 수 있다. 실제 공격하는 방식은 template = '.. 2023. 7. 21.
command injection 쓰고 나서 보니 너무 정적인 글 이라서 지루하다 재미없어도 해킹은 재밌으니 재미있겠지? 실제 웹사이트를 운영하다 보면 직접 사용자의 입력값을 쉘 명령어에 보내야 할 때가 있다. 하지만 악의적인 사용자가 악의적인 입력값을 입력해 서버를 장악해 버리는 엄청난 취약점이다. 이번 포스팅은 command injection을 잘 모르면 이해하기 힘들 수 도 있다. 실제 일반적으로 사용되는 메타문자로는 # 명령어 치환 ls `echo -l` ls ${echo -l} # AND (앞 명령어가 정상적으로 작동하면 뒷 명령어가 실행된다.) pwd && ls -l # OR (앞 명령어에서 오류가 발생하면 뒷 명령어가 실행된다.) ls -qqq || ls -l # 구분자 pwd | ls pwd ; ls 등등이 사용된다. 하지.. 2023. 7. 18.