diff --git a/README b/README new file mode 100644 index 0000000..3a3a5a0 --- /dev/null +++ b/README @@ -0,0 +1,16 @@ +# cspj application + +## attacks + +1. sql injection +2. xss +3. command injection +4. file inclusion attacks +5. csrf +6. directory traversal +7. insecure deserialization +8. session hijacking +9. xml external entity injection +10. sever side request forgery +11. broken authentication and session management +12. clickjacking diff --git a/client/src/components/Generic/Layout.tsx b/client/src/components/Generic/Layout.tsx index d2a28d9..a2b75d3 100644 --- a/client/src/components/Generic/Layout.tsx +++ b/client/src/components/Generic/Layout.tsx @@ -1,6 +1,18 @@ -import { Box, TextField, useTheme } from "@mui/material"; +import { + Box, + Button, + Container, + Grid2, + Input, + Switch, + TextField, + Typography, + useTheme, +} from "@mui/material"; + import { HeaderBar } from "../HeaderBar/HeaderBar"; -import { LoadingButton } from "@mui/lab"; +import { AttackItem } from "../Home/AttackItem"; +import Link from "next/link"; export const Layout = () => { // contexts @@ -16,20 +28,89 @@ export const Layout = () => { }} > - - - {/* main content goes here buddy */} - asdf - + {/* main content goes here buddy */} + + + + CSPJ Application Attacks + + + Secured version + + + + + {/* + TODO: implmenent simple ping server to check if the user entered a valid backend url + debounce when typing + update textfield color based on the response + */} + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + ); }; diff --git a/client/src/components/Home/AttackItem.tsx b/client/src/components/Home/AttackItem.tsx new file mode 100644 index 0000000..51b1500 --- /dev/null +++ b/client/src/components/Home/AttackItem.tsx @@ -0,0 +1,37 @@ +import { + Card, + CardActionArea, + CardContent, + Typography, + useTheme, +} from "@mui/material"; +import { FC } from "react"; + +type AttackItemProps = { + attackName: string; +}; + +export const AttackItem: FC = ({ attackName }) => { + // contexts + const theme = useTheme(); + + return ( + + { + console.log("clicked"); + }} + > + + {attackName} + + + + ); +}; diff --git a/client/src/contexts/ThemeContext.tsx b/client/src/contexts/ThemeContext.tsx index 4836e1c..2a44f70 100644 --- a/client/src/contexts/ThemeContext.tsx +++ b/client/src/contexts/ThemeContext.tsx @@ -62,11 +62,8 @@ export const UserThemeProvider: FC = ({ children }) => { }, }; - // font family settings - // TODO: figure out how to bundle fonts in tauri const fontFamily = "GoogleSans"; - // font scaling settings const fontSize = 14; const userTheme = createTheme({