이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
A3 - XSS - Reflected (Login Form)
난이도 하
xss_login.php 페이지는 앞에서 다뤘던 SQL Injection Login 페이지와 같은 페이지입니다.
SQL Injection (Login Form/Hero)
SQL Injection 취약점을 확인하였을 때처럼 '(작은따옴표)를 입력하였더니 SQL 에러가 나는 것을 알 수 있습니다.
' or <script>alert('xss test')</script>
'; <script>alert('xss test')</script>
스크립트 구문을 입력하면 위와 같이 스크립트 문이 실행되는 것을 알 수 있습니다. 스크립트 문은 여러 가지 방법이 있으니 각 방법마다 변형해서 테스트를 해보시기 바랍니다.
난이도 중/상
소스코드를 확인해 보면 난이도 중(sqli_check_1), 난이도 상(sqli_check_2) 함수를 사용하는 것을 알 수 있으며 각 함수는 functions_external.php에 정의되어 있습니다.
난이도 중에서는 addslashes() 함수를 사용하여 우회 하고 있습니다. addslashes() 함수는 데이터베이스 쿼리에서 필드값으로 저장하기 전에 사용되는 함수입니다. 만일 문자열에 작은따옴표('), 큰따옴표("), 백슬래시(\), NULL 문자(%00)가 포함되어 있다면, 이 문자들 앞에 백슬래시(\)를 붙여 특수 문자가 순수한 하나의 문자로 인식되도록 해줍니다.
난이도 상에서는 mysql_real_escape_string 함수를 이용하여 사용자 입력 값에 SQL 문법에서 사용하는 특수 문자가 있을 경우 다음의 문자에 백 슬래시를 붙여 SQL 문법으로 인식하지 않게 방어합니다.
우회 문자: \x00, \n, \r, \, ', ", \x1a
'Code::Security > 비박스(BWAPP)' 카테고리의 다른 글
비박스(bWAPP) A3 XSS - Reflected (PHP_SELF) (0) | 2022.08.09 |
---|---|
비박스(bWAPP) A3 phpMyAdmin BBCode Tag XSS (0) | 2022.08.03 |
비박스(bWAPP) A3 XSS - Reflected (HREF) (0) | 2022.07.29 |
비박스(bWAPP) A3 XSS - Reflected (Eval) (0) | 2022.07.28 |
비박스(bWAPP) A3 XSS - Reflected (Custom Header) (0) | 2022.07.28 |