[bWAPP] Base64 Encoding (Secret)
A6 - Sesitive Data Exposure
Base64 Encoding (Secret)
cookie 값을 url decode 하여, base64decode 해본다.
[bWAPP] SQL Injection (GET/Search)
A1 - Injection
SQL Injection (GET/Search)
컬럼명을 담고 있는 db의 table로 접근해 SQL Injection 공격을 해볼 수 있다.
Iron Man' union select 1,1,1,column_name,1,1,1 from information_schema.columns;#
[bWAPP] Broken Auth. - Password Attacks
A2 - Broken Auth. & Session Mgmt.
Broken Auth. - Password Attacks
무작위 공격이나 id/pw 예측 공격으로 로그인을 시도한다.
[bWAPP] Broken Auth. - Logout Management
A2 - Broken Auth. & Session Mgmt.
Broken Auth. - Logout Management
로그아웃 후, back button을 눌러 이전 페이지에서 중요 정보를 접근할 수 있는지 여부 확인
[bWAPP] bWAPP - Broken Authentication
A2 - Broken Auth. & Session Mgmt. bWAPP - Broken Authentication 소스코드의 tonystark/I am Iron Man 을 입력하여 로그인한다.
[bWAPP] CSRF (Change Password)
A8 - Cross Site Request Forgery
CSRF (Change Password)
패스워드 변경 경로를 삽입하여 타 계정으로 로그인한 사용자의 비밀번호를 변경한다.
이체 경로를 삽입하여 상대방 계좌의 금액을 차감 한다.
[bWAPP] XML/XPath Injection (Login Form)
A1 - Injection
XML/XPath Injection (Login Form)
로그인 ID, PW 에 ' or '1'='1 을 넣으면 된다.
selene, Thor, johnny, wolverine, alice
wolverine' or 'a'='a--
[bWAPP] Insecure DOR (Change Secret/Reset Secret)
A4 - Insecure Direct Object References
Insecure DOR (Change Secret)
POST 파라미터로 전송되는 login 값을 수정한다.
XML 에 포함된 login 값을 수정한다.
[bWAPP] Insecure DOR (Order Tickets)
A4 - Insecure Direct Object References
Insecure DOR (Order Tickets)
hidden 필드의 15eur을 변조하여 시도한다.
medium level에서는 post 파라미터에 ticket_price를 추가한다.
[bWAPP] Session Mgmt. - Administrative Portals
A2 - Broken Auth. & Session Mgmt.
Session Mgmt. - Administrative Portals
admin 파라미터에 1을 넣으면 성공 메시지가 나온다.
[bWAPP] XSS - Reflected (User-Agent)
A3 - Cross Site Scripting
XSS - Reflected (User-Agent)
header 값 중 user-agent에 스크립트를 삽입하여 전송하는 예제이다.
[bWAPP] SQL Injection (GET[POST]/Select)
A1 - Injection
SQL Injection (GET/Select)
movie=0+union select schema(),version(),user(),database(),SESSION_USER(),schema(),1--+-&action=go
GET[POST]/SEARCH 는 ' 로 되어 single quote 를 쓸 수가 없다. 동영상에는 그대로 되는데, 환경 탓 인가...
우분투에서는 되는군.
[bWAPP] Server-Side Includes (SSI) Injection
A1 - Injection
Server-Side Includes (SSI) Injection
LoadModule 을 지원하는 환경에서 가능하다
입력 필드에 <!--#echo var="DOCUMENT_ROOT" --> 를 넣었을 때, 아래와 같이 나오면 LoadModule이 지원 안되는 것이다.
실행 자체가 안 되니 의미가 없다.
<p>Hello 11<!--#echo Var="DOCUMENT_ROOT" --> 11,</p><p>Your IP address is:</p><h1><!--#echo var="REMOTE_ADDR" --></h1>
http://lispro06.woweb.net/infra/51326 참고
* 그동안 cgi 로 혼동했다. T.T;;
[bWAPP] PHP Code Injection
A1 - Injection
PHP Code Injection
해당 소스는 eval 로 되어 있다.
php 함수를 모두 사용 가능하다.
<p><i><?php @eval ("echo " .$_REQUEST["message"] . ";");?></i></p>
[bWAPP] OS Command Injection [blind]
A1 - Injection
OS Command Injection
동영상에서는 ; 등으로 테스트 하는데, windows 서버라 | (pipe, vertical var)로 하면 된다.
blind 의 경우,
명령어 >> 1.txt
로 파일을 만들어 해당 파일을 접근할 수 있다.
ren 이나, copy 명령어를 사용해 파일을 바꾸거나 txt 확장자로 교체해 소스 확인도 가능할 듯 하다.
del은 쓰지 말자.
[bWAPP] LDAP Injection (Search)
A1 - Injection
LDAP Injection (Search)
search 구문에 * 을 넣으면 모든 사용자 검색이 가능하므로 해당 문자열을 사용하지 못하도록 한다.
로그인 우회는 확인 중이다.
[bAWPP] HTML Injection - Stored (Blog)
A1 - Injection
HTML Injection - Stored (Blog)
XSS 저장 방식이다.
게시판에 테스트 하듯이 스크립트 구문을 바로 입력하면 된다.
html 인젝션은 <h1>bee</h1><h2>bug</h2> 를 넣으면 된다.
[bWAPP] HTML Injection - Reflected (URL)
A1 - Injection
HTML Injection - Reflected (URL)
현재 url을 표시해주는 간단한 서버사이드 스크립트이다.
~.php?a={스크립트구문}
을 넣어주면 실행 가능하다.
html 인젝션은 주소창 뒤에 ? 을 넣고 태그를 넣으면 된다.
?<h1>test</h1>
[bWAPP] HTML Injection - Reflected (GET/POST)
A1 - Injection
HTML Injection - Reflected (GET/POST)
id, pw 필드에 스크립트 코드를 넣으면 레벨 0에서 간단히 테스트할 수 있는데, 요즘 브라우저에서는 교차스크립트 방지 필터가 동작하여 결과 확인이 어렵다.
보안설정을 아래와 같이 바꾸면 가능하다.
XSS 가 아니고, HTML이라, HTML 태그를 넣어 테스트 해보는 내용이다.
<H1>TEST</H1>
<H2>TEST</H2>
[bWAPP] iFrame injection
A1 - Injection
iFrame injection
iframei.php?ParamUrl=robots.txt&ParamWidth=250&ParamHeight=250
ParamUrl 에 경로에 존재하는 파일을 넣으면 내용 확인 및 다운로드가 가능하다.
다운로드되는 파일은 portal.zip 이고, 나머지 php 파일 등은 렌더링되어 나오므로 파일 다운로드로 보기는 어렵다.
portal.bak, bugs,txt, 666 은 텍스트 형식이므로 내용 확인이 가능하다.
이를 소개한 동영상에서는 width, height를 바꾸거나 외부 경로 입력을 테스트 했다.