Skip to content

Commit 82a3db6

Browse files
committed
First commit
0 parents  commit 82a3db6

File tree

149 files changed

+6801
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+6801
-0
lines changed

build.xml

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!-- You may freely edit this file. See commented blocks below for -->
3+
<!-- some examples of how to customize the build. -->
4+
<!-- (If you delete it and reopen the project it will be recreated.) -->
5+
<!-- By default, only the Clean and Build commands use this build script. -->
6+
<!-- Commands such as Run, Debug, and Test only use this build script if -->
7+
<!-- the Compile on Save feature is turned off for the project. -->
8+
<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
9+
<!-- in the project's Project Properties dialog box.-->
10+
<project name="JavaVulnerableLab" default="default" basedir=".">
11+
<description>Builds, tests, and runs the project JavaVulnerableLab.</description>
12+
<import file="nbproject/build-impl.xml"/>
13+
<!--
14+
15+
There exist several targets which are by default empty and which can be
16+
used for execution of your tasks. These targets are usually executed
17+
before and after some main targets. They are:
18+
19+
-pre-init: called before initialization of project properties
20+
-post-init: called after initialization of project properties
21+
-pre-compile: called before javac compilation
22+
-post-compile: called after javac compilation
23+
-pre-compile-single: called before javac compilation of single file
24+
-post-compile-single: called after javac compilation of single file
25+
-pre-compile-test: called before javac compilation of JUnit tests
26+
-post-compile-test: called after javac compilation of JUnit tests
27+
-pre-compile-test-single: called before javac compilation of single JUnit test
28+
-post-compile-test-single: called after javac compilation of single JUunit test
29+
-pre-dist: called before archive building
30+
-post-dist: called after archive building
31+
-post-clean: called after cleaning build products
32+
-pre-run-deploy: called before deploying
33+
-post-run-deploy: called after deploying
34+
35+
Example of pluging an obfuscator after the compilation could look like
36+
37+
<target name="-post-compile">
38+
<obfuscate>
39+
<fileset dir="${build.classes.dir}"/>
40+
</obfuscate>
41+
</target>
42+
43+
For list of available properties check the imported
44+
nbproject/build-impl.xml file.
45+
46+
47+
Other way how to customize the build is by overriding existing main targets.
48+
The target of interest are:
49+
50+
init-macrodef-javac: defines macro for javac compilation
51+
init-macrodef-junit: defines macro for junit execution
52+
init-macrodef-debug: defines macro for class debugging
53+
do-dist: archive building
54+
run: execution of project
55+
javadoc-build: javadoc generation
56+
57+
Example of overriding the target for project execution could look like
58+
59+
<target name="run" depends="<PROJNAME>-impl.jar">
60+
<exec dir="bin" executable="launcher.exe">
61+
<arg file="${dist.jar}"/>
62+
</exec>
63+
</target>
64+
65+
Notice that overridden target depends on jar target and not only on
66+
compile target as regular run target does. Again, for list of available
67+
properties which you can use check the target you are overriding in
68+
nbproject/build-impl.xml file.
69+
70+
-->
71+
</project>

build/web/ForgotPassword.jsp

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
2+
<%@page import="model.DBConnect"%>
3+
<%@page import="java.sql.Statement"%>
4+
<%@page import="java.sql.ResultSet"%>
5+
<%@page import="java.sql.Connection"%>
6+
<%@ include file="header.jsp" %>
7+
<script src="jquery.min.js" type="text/javascript"></script>
8+
<script type="text/javascript">
9+
$(document).ready(function(){
10+
$("#username").change(function(){
11+
var username = $(this).val();
12+
$.getJSON("UsernameCheck.do","username="+username,function(result)
13+
{
14+
if(result.available==1)
15+
{
16+
$("#status").html("<b style='color:green'>&#10004;</b>");
17+
}
18+
else
19+
{
20+
$("#status").html("<b style='color:red'>&#10006; username doesn't exist</b>");
21+
}
22+
23+
});
24+
});
25+
});
26+
</script>
27+
28+
Password Recovery:
29+
<form action="ForgotPassword.jsp" method="post">
30+
<table>
31+
<tr><td>Username: </td><td><input type="text" name="username" id="username"/></td><td><span id="status"></span></td></tr>
32+
<tr><td>What's Your Pet's name?: </td><td><input type="text" name="secret" /></td></tr>
33+
<tr><td><input type="submit" name="GetPassword" value="GetPassword"/></td></tr>
34+
</table>
35+
</form><br/>
36+
37+
<%
38+
if(request.getParameter("secret")!=null)
39+
{
40+
Connection con=new DBConnect().connect(getServletContext().getRealPath("/WEB-INF/config.properties"));
41+
ResultSet rs=null;
42+
Statement stmt = con.createStatement();
43+
rs=stmt.executeQuery("select * from users where username='"+request.getParameter("username").trim()+"' and secret='"+request.getParameter("secret")+"'");
44+
if(rs != null && rs.next()){
45+
out.print("Hello "+rs.getString("username")+", <b class='success'> Your Password is: "+rs.getString("password"));
46+
}
47+
else
48+
{
49+
out.print("<b class='fail'> Secret/Email is wrong</b>");
50+
}
51+
}
52+
53+
%>
54+
55+
<%@ include file="footer.jsp" %>

build/web/META-INF/MANIFEST.MF

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Manifest-Version: 1.0
2+

build/web/META-INF/context.xml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Context antiJARLocking="true" path="/JavaVulnerableLab" useHttpOnly="false"/>

build/web/Register.jsp

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<%--
2+
Document : Register
3+
Created on : 2 Dec, 2014, 10:47:44 AM
4+
Author : breakthesec
5+
--%>
6+
<%@ include file="header.jsp" %>
7+
<script src="jquery.min.js" type="text/javascript"></script>
8+
<script type="text/javascript">
9+
$(document).ready(function(){
10+
$("#username").change(function(){
11+
var username = $(this).val();
12+
$.getJSON("UsernameCheck.do","username="+username,function(result)
13+
{
14+
if(result.available==0)
15+
{
16+
$("#status").html("<b style='color:green'>&#10004; Available</b>");
17+
}
18+
else
19+
{
20+
$("#status").html("<b style='color:red'>&#10006; Username is already taken</b>");
21+
}
22+
23+
});
24+
});
25+
$("#email").change(function(){
26+
var email = $(this).val();
27+
$.getJSON("EmailCheck.do","email="+email,function(result)
28+
{
29+
if(result.available==0)
30+
{
31+
$("#emailStatus").html("<b style='color:green'>&#10004;</b>");
32+
}
33+
else
34+
{
35+
$("#emailStatus").html("<b style='color:red'>&#10006; Email is already in Use</b>");
36+
}
37+
38+
});
39+
});
40+
});
41+
</script>
42+
<form action="AddUser" method="post">
43+
<table>
44+
<tr><td>UserName: </td><td><input type="text" name="username" id="username" /></td><td><span id="status"></span></td></tr>
45+
<tr><td>Email:</td><td><input type="text" name="email" id="email"/></td><td><span id="emailStatus"></span></td></tr>
46+
<tr><td>Describer Yourself:</td><td><input type="text" name="About" /></td></tr>
47+
<tr><td>What's Your Pet's name?:</td><td><input type="text" name="secret" /></td></tr>
48+
<tr><td>Password :</td><td><input type="password" name="password"/></td></tr>
49+
<tr><td><input type="submit" name="Register" value="Register"/></td></tr>
50+
</table>
51+
</form>
52+
<%@ include file="footer.jsp" %>

build/web/WEB-INF/AdminPanel.jsp

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<%@ include file="/header.jsp" %>
2+
3+
This is Admin Panel located in WEB-INF. You can't directly visit this page ;)<br/><br/>
4+
<ul>
5+
<li><b><a href='<%=path%>/admin/manageusers.jsp'>Manage Users </a></b></li>
6+
</ul>
7+
<%@ include file="/footer.jsp" %>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1.63 KB
Binary file not shown.
1.55 KB
Binary file not shown.
1.25 KB
Binary file not shown.

build/web/WEB-INF/config.properties

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# To change this license header, choose License Headers in Project Properties.
2+
# To change this template file, choose Tools | Templates
3+
# and open the template in the editor.
4+
5+
dbuser=root
6+
dbpass=root
7+
dbname=abc
8+
dburl=jdbc:mysql://localhost:3306/
9+
jdbcdriver=com.mysql.jdbc.Driver
10+
siteTitle=Java Vulnerable Lab
44.9 KB
Binary file not shown.
Binary file not shown.

build/web/WEB-INF/users.xml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
To change this license header, choose License Headers in Project Properties.
4+
To change this template file, choose Tools | Templates
5+
and open the template in the editor.
6+
-->
7+
8+
9+
<users>
10+
<user id="1">
11+
<name>NEO</name>
12+
<username>neo</username>
13+
<password>trinity</password>
14+
<email>neo@matrix</email>
15+
<about> I am the NEO</about>
16+
</user>
17+
<user id="2">
18+
<name>Trinity</name>
19+
<username>trinity</username>
20+
<password>neo</password>
21+
<email>trinity@matrix</email>
22+
<about>it is Trinity</about>
23+
</user>
24+
<user id="3">
25+
<name>Oracle</name>
26+
<username>oracle</username>
27+
<password>java</password>
28+
</user>
29+
<user id="4">
30+
<name>Anderson</name>
31+
<username>anderson</username>
32+
<password>java</password>
33+
<email>anderson@1999</email>
34+
<about>Computer Programmer</about>
35+
</user>
36+
</users>

build/web/WEB-INF/web.xml

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
3+
<servlet>
4+
<servlet-name>install</servlet-name>
5+
<servlet-class>controller.install</servlet-class>
6+
</servlet>
7+
<servlet>
8+
<servlet-name>loginValidator</servlet-name>
9+
<servlet-class>controller.LoginValidator</servlet-class>
10+
</servlet>
11+
<servlet>
12+
<servlet-name>Register</servlet-name>
13+
<servlet-class>controller.Register</servlet-class>
14+
</servlet>
15+
<servlet>
16+
<servlet-name>Logout</servlet-name>
17+
<servlet-class>controller.Logout</servlet-class>
18+
</servlet>
19+
<servlet>
20+
<servlet-name>open</servlet-name>
21+
<servlet-class>controller.open</servlet-class>
22+
</servlet>
23+
<servlet>
24+
<servlet-name>SendMessage</servlet-name>
25+
<servlet-class>controller.SendMessage</servlet-class>
26+
</servlet>
27+
<servlet>
28+
<servlet-name>ForwardMe</servlet-name>
29+
<servlet-class>controller.ForwardMe</servlet-class>
30+
</servlet>
31+
<servlet>
32+
<servlet-name>AddPage</servlet-name>
33+
<servlet-class>controller.AddPage</servlet-class>
34+
</servlet>
35+
<servlet>
36+
<servlet-name>UsernameCheck</servlet-name>
37+
<servlet-class>controller.UsernameCheck</servlet-class>
38+
</servlet>
39+
<servlet>
40+
<servlet-name>EmailCheck</servlet-name>
41+
<servlet-class>controller.EmailCheck</servlet-class>
42+
</servlet>
43+
<servlet>
44+
<servlet-name>XPathQuery</servlet-name>
45+
<servlet-class>controller.XPathQuery</servlet-class>
46+
</servlet>
47+
<servlet-mapping>
48+
<servlet-name>install</servlet-name>
49+
<url-pattern>/install</url-pattern>
50+
</servlet-mapping>
51+
<servlet-mapping>
52+
<servlet-name>loginValidator</servlet-name>
53+
<url-pattern>/LoginValidator</url-pattern>
54+
</servlet-mapping>
55+
<servlet-mapping>
56+
<servlet-name>Register</servlet-name>
57+
<url-pattern>/AddUser</url-pattern>
58+
</servlet-mapping>
59+
<servlet-mapping>
60+
<servlet-name>Logout</servlet-name>
61+
<url-pattern>/Logout</url-pattern>
62+
</servlet-mapping>
63+
<servlet-mapping>
64+
<servlet-name>open</servlet-name>
65+
<url-pattern>/open</url-pattern>
66+
</servlet-mapping>
67+
<servlet-mapping>
68+
<servlet-name>SendMessage</servlet-name>
69+
<url-pattern>/SendMessage.do</url-pattern>
70+
</servlet-mapping>
71+
<servlet-mapping>
72+
<servlet-name>ForwardMe</servlet-name>
73+
<url-pattern>/ForwardMe</url-pattern>
74+
</servlet-mapping>
75+
<servlet-mapping>
76+
<servlet-name>AddPage</servlet-name>
77+
<url-pattern>/admin/AddPage.do</url-pattern>
78+
</servlet-mapping>
79+
<servlet-mapping>
80+
<servlet-name>UsernameCheck</servlet-name>
81+
<url-pattern>/UsernameCheck.do</url-pattern>
82+
</servlet-mapping>
83+
<servlet-mapping>
84+
<servlet-name>EmailCheck</servlet-name>
85+
<url-pattern>/EmailCheck.do</url-pattern>
86+
</servlet-mapping>
87+
<servlet-mapping>
88+
<servlet-name>XPathQuery</servlet-name>
89+
<url-pattern>/XPathQuery.do</url-pattern>
90+
</servlet-mapping>
91+
</web-app>

build/web/admin/AddPage.jsp

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<%@ include file="/header.jsp" %>
2+
<%
3+
if(session.getAttribute("privilege")!=null && session.getAttribute("privilege").equals("admin"))
4+
{
5+
%>
6+
7+
<form action="AddPage.do" method="POST">
8+
<table>
9+
<tr><td>File Name:</td> <td><input type="text" name="filename" value=""/></td></tr>
10+
<tr><td>Content :</td><td><textarea name="content" cols="50" rows="10"></textarea></td></tr>
11+
<tr><td></td><td><input type="submit" name="Create" value="Create"/></td></tr>
12+
</table>
13+
</form>
14+
<%
15+
}
16+
else
17+
{
18+
out.print("<b class='fail'> x You Are not Authorized to view this Page x </b>");
19+
}
20+
%>
21+
<%@ include file="/footer.jsp" %>

build/web/admin/Configure.jsp

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<%@page import="java.io.FileOutputStream"%>
2+
<%@ include file="/header.jsp" %>
3+
<%
4+
if(session.getAttribute("isLoggedIn")!=null)
5+
{
6+
7+
%>
8+
<form action="Configure.jsp" method="POST">
9+
<table>
10+
<tr><td>Website Title:</td> <td><input type="text" name="siteTitle" value=""/></td></tr>
11+
<tr><td></td><td><input type="submit" name="save" value="save"/></td></tr>
12+
</table>
13+
</form>
14+
15+
<%
16+
if(request.getParameter("save")!=null)
17+
{
18+
Properties props=new Properties();
19+
20+
props.load(new FileInputStream(configPath));
21+
props.setProperty("siteTitle",request.getParameter("siteTitle"));
22+
FileOutputStream fileout = new FileOutputStream(configPath);
23+
props.store(fileout, null);
24+
fileout.close();
25+
out.print("<b class='success'> Configuration saved </b>");
26+
}
27+
}
28+
else
29+
{
30+
out.print("<b style='color:red'> x You Are not Authorized to view this Page x </b>");
31+
}
32+
%>
33+
<%@ include file="/footer.jsp" %>

0 commit comments

Comments
 (0)