---
tags: 資安演講,web安全
---
# 4/22 web安全
[TOC]
* 網路原理
* 網頁弱點
* 尋找漏洞
:::info
❤歡迎各位參與共筆的製作❤
[Discord討論區](https://discord.com/invite/QcHWtZ3z)
[回饋問卷](https://forms.gle/cZBrJ4givtAZprtU9)
:::
---
## 網路原理
Q:怎麼開網頁?
| 瀏覽器 | 特色 |
| ---------- | -------------------- |
| Firefox | 隱私保護 |
| Edge | 速度快 |
| chrome | 很多套件,記憶體怪獸 |
| Opera | 內建VPN |
| Brave | ad block |
| Vivaldi | 自訂義功能強 |
| DuckDuckDo | 隱私保護 |


* 靜態網頁(只有前端): [CSS](https://www.w3schools.com/css/default.asp)(網頁外觀)、[JS](https://www.w3schools.com/js/DEFAULT.asp)(網頁動作)、[HTML](https://www.w3schools.com/html/)(網頁骨架)
* 動態網頁(前端+後端): 後端邏輯(前端看不到的邏輯)、資料庫連接
* **前端:**
HTML: 前端網頁內容
css讚讚網頁:[bootstrap](https://getbootstrap.com/)
Javascript 讓web動起來
web動作交互
* **後端:**
後端的程式語言:PHP、Python(django、flask)、Typescript
結構化查詢語言:SQL(資料庫管理系統DBM)
結構:資料庫>資料表>資料欄
### DVWA | LAB
https://ais3-club.kiwissec.com/
> 記得先關閉上午的AttackBox

點進去後去兌換輸入兌換碼


#### lab0
網址: https://jupiter.challenges.picoctf.org/problem/9670/
使用f12可以看到傳輸封包(in Network),記得按f5刷新
點擊js和css檔,開preview可以看見藏flag

Html則是開Elements可以閱覽
可以使用hook的概念改前端網頁,但也就只有自己可以看得到,把原本的CSS變成自己想要的形式
</br>
## 網頁弱點
接下來會提到的內容
* Information Leak
* Business Logic Vulnerabilites
* Broken Access Control
* Command Injection
* SQL Injection
### .git
儲存git版本控制系統的目錄
包含一個DB,用於儲存專案和相關資料
黑箱: 看不到內容
白箱: 可以利用靜態分析,找出BUG,比較危險,弱點會被別人看到
- `.git` dir
可以透過.git 來找出 source code,.git不能洩漏,不然很容易被人靜態分析,然後就會被打了
#### .git洩漏
git leak
可以找 API key,source code, 內嵌 account password
#### lab1
http://h4ck3r.quest:9000
http://h4ck3r.quest:9000/.git/config



ctrl+h顯示gui介面的隱藏檔案
> .git為隱藏檔案 使用ctrl+h後就會出現嘞

使用下面指令還原.git檔案
在這個位置: /home/kiwis/Downloads/h4ck3r_quest_9000/h4ck3r_quest_9000
```shell
git reset --hard a0228bd^ # 目前的全部丟掉,強制還原成上一個commit
```
取得flag
```
cat flag.php
```
補充:可以使用下列指令
- `git log --stat`
- 相對於 git log,可以看到該 commit 修改了哪些檔案)

- `git log --all`
- 把會關聯到的東西都顯示
- `git reset --hard HEAD^`
- HEAD 為目前版本,而 HEAD^ 為跳到上一個版本
- HEAD^數字,代表跳幾個版本,例如 HEAD^2
- `git diff HEAD <commit 的 id>`
- 比較當前版本跟想看的 commit 之間的差異
### lab2
http://h4ck3r.quest:8202/
1. git 回溯
3. 發現隱藏網站 http://h4ck3r.quest:8202/dev_test_page/index.php
> ## 尋找漏洞
傳送字串最可能有漏洞
### 權限控制失效
簡單來說就是提權
http://saturn.picoctf.net:55287/
檔案閱讀器,輸入檔案內容,會cat出檔案內容
`../../../../../flag.txt`

`../../../../../etc/passwd`
路徑遍歷,遍歷目錄,可能見不該看的
#### Lab3
http://h4ck3r.quest:8100
:::spoiler lab3解答
step1 觀察商品項目網址(推斷出FLAG在5430)


成功進來購買頁面

step2 觀察並更改value

step3 點擊購買 發現購買成功買下貴鬆鬆的flag嘞\OWO/

:::
### Injection
#### Lab4
https://caas.mars.picoctf.net/
^__^
(oo)\_______
(__)\ )\/\
||----w |
|| ||
:::spoiler Lab4解答參考
輸入:https://caas.mars.picoctf.net/cowsay/meow;%20cat%20falg.txt
``` ______
< meow >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
picoCTF{moooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo0o}
```
:::
補充:
- https://zeroday.hitcon.org/
- https://ctf.hackme.quest/
- https://picoctf.org/
- https://www.hacksplaining.com/
#### Lab5
http://h4ck3r.quest:8300/
:::spoiler Lab5解答參考
```
8.8.8.8';ls ../../../../;ping'8.8.8.8
```

:::
\
**lab5-2(進階題加碼)**
http://h4ck3r.quest:8301/
### SQL INJECTION

補充:
- https://www.hacksplaining.com/
#### Lab6
http://h4ck3r.quest:8200/
:::spoiler lab6解答
PS 密碼隨便填!!!
`admin') OR 1=1;--`
:::
進階題
http://h4ck3r.quest:8201/
#### Lab7
網址: https://jupiter.challenges.picoctf.org/problem/52849/login.html
:::spoiler Lab7-1
`admin'--`
:::
網址: https://jupiter.challenges.picoctf.org/problem/29132/login.html
:::spoiler Lab7-2
hidden 的debug0改為1
rot13
`'BE 1=1 --`
:::