Skip to content

Commit 7e86cdb

Browse files
authored
Update README.md
1 parent 882e388 commit 7e86cdb

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

README.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# FUGIO-artifact
22
[FUGIO](https://github.com/WSL-LAB/FUGIO) is the first
33
automatic exploit generation (AEG) tool for PHP object injection (POI) vulnerabilities.
4-
This repository includes Docker images to run the experiments performed in the paper.
5-
We tested our Docker images and running scripts on Ubuntu 18.04 host machine.
4+
The artifact includes Docker images to run the experiments performed in the paper.
5+
We tested our Docker images and scripts on a Ubuntu 18.04 machine.
66

77
## Prepare Docker containers
88
#### 1. Install Docker
@@ -87,12 +87,14 @@ cd /FUGIO
8787
If you want to stop monitoring, run `htaccess.py off`.
8888
8989
#### 2. Prepare two terminals
90-
We need at least two Docker container terminals. One is for running FUGIO and the other is for triggering POI vulnerabilities.
90+
We need at least two Docker container terminals.
91+
One is for running FUGIO and the other is for triggering POI vulnerabilities.
9192
You can connect two shells by running `3_docker_exec.sh` in two terminals respectively.
9293
9394
9495
#### 3. Run FUGIO
95-
In the first terminal, run FUGIO using `run_FUGIO_XX.sh` with the target applications path (i.e. `/app/[target application]`).
96+
In the first terminal, run FUGIO using `run_FUGIO_XX.sh` with the target applications path
97+
(i.e. `/app/[target application]`).
9698
In the other terminal, trigger the corresponding POI vulnerability using the given scripts.
9799
98100
I recommend the following applications for obtaining results fastly.
@@ -133,7 +135,7 @@ Also, the size of each Docker container can be over 20 GB after running FUGIO.
133135
If you run the command, FUGIO starts to analyze the source code of the target application.
134136
At the first run, FUGIO generates a dump file in `Files/dump_files`.
135137
It is for reducing time to analyze the target source code when you run FUGIO again for the same application.
136-
If the source code of the target application changed, you need to delete its dump file and run the script again.
138+
If the source code of the target application is changed, you need to delete its dump file and run the script again.
137139
138140
> When you run FUGIO on Smarty (PHP 5.4),
139141
>
@@ -171,7 +173,7 @@ If the source code of the target application changed, you need to delete its dum
171173
#### 3-2. Trigger POI vulnerabilities in the second terminal
172174
After FUGIO finishes analyzing the source code, FUGIO starts to monitor a POI vulnerability.
173175
We can trigger POI vulnerabilities using crawlers, spiders, or manual browsing.
174-
In this artifact, we provide scripts for triggering each POI vulnerability.
176+
In the artifact, we provide scripts for triggering each POI vulnerability.
175177
176178
- PHP 5.4:
177179
- Contao CMS, Piwik, GLPI, Joomla, CubeCart, CMS Made Simple, Open Web Analytics, Vanilla Forums:
@@ -287,9 +289,10 @@ All outputs are generated in the `Files/fuzzing/[app_path.time]/PUT/` directory.
287289
288290
289291
#### 4. Reproduce evaluations in the paper
290-
This artifact provides environments for reproducing evaluations in Sections 7.2 and 7.3 producing Tables 1, 2, and 3 in the paper.
292+
The artifact provides environments for reproducing evaluations in Sections 7.2 and 7.3
293+
producing Tables 1, 2, and 3 in the paper.
291294
292-
1. For reproducing Table 1, run `./config.py org` in php5.4. php5.6, and `php7.2` Docker containers
295+
1. For reproducing Table 1, run `./config.py org` in `php5.4`, `php5.6`, and `php7.2` Docker containers
293296
before following the step 3 ["Run FUGIO"](https://github.com/WSP-LAB/FUGIO-artifact#3-run-fugio).
294297
```
295298
cd /FUGIO
@@ -304,7 +307,7 @@ before following the step 3 ["Run FUGIO"](https://github.com/WSP-LAB/FUGIO-artif
304307
- php 7.2: `./run_FUGIO_72.sh`
305308
306309
The number of true positive chains in Table 1 is manually analyzed.
307-
We provide an utility for helping the analysis of the generated POP chains
310+
We provide a utility for helping the analysis of the generated POP chains
308311
in the step 5 ["Analyzing the results"](https://github.com/WSP-LAB/FUGIO-artifact#5-analyzing-the-results).
309312
310313
2. For reproducing Table 2, run `./config.py ccs` in `php5.4` Docker container
@@ -322,7 +325,7 @@ before following the step 3 ["Run FUGIO"](https://github.com/WSP-LAB/FUGIO-artif
322325
Since Dahse et al. did not provide the details of each chain, we could not match each exploitable chain.
323326
Thus, we compared the numbers of exploit objects that FUGIO reported with the numbers reported in their paper.
324327
325-
3. For reproducing Table 3, run `./config.py phpggc` in `php5.4`, `php5.6` and `php7.2` Docker containers,
328+
3. For reproducing Table 3, run `./config.py phpggc` in `php5.4`, `php5.6`, and `php7.2` Docker containers,
326329
before following the step 3 ["Run FUGIO"](https://github.com/WSP-LAB/FUGIO-artifact#3-run-fugio).
327330
```
328331
cd /FUGIO
@@ -338,8 +341,9 @@ before following the step 3 ["Run FUGIO"](https://github.com/WSP-LAB/FUGIO-artif
338341
339342
[PHPGGC](https://github.com/ambionics/phpggc) provides templates for generating POP exploits.
340343
However, it is not clear that what POP gadget each POP chain consists of.
341-
Thus, we provide POP chains from PHPGGC in the repo (https://github.com/WSP-LAB/FUGIO/tree/main/PHPGGC) by analyzing each template.
342-
`chain_analyzer` in ["Run FUGIO"](https://github.com/WSP-LAB/FUGIO-artifact#5-analyzing-the-results)
344+
Thus, we provide POP chains from PHPGGC in the repo (https://github.com/WSP-LAB/FUGIO/tree/main/PHPGGC)
345+
by analyzing each template.
346+
`chain_analyzer` in ["Analyzing the results"](https://github.com/WSP-LAB/FUGIO-artifact#5-analyzing-the-results)
343347
also will be helpful for analyzing the reported POP chains.
344348
345349
#### 5. Analyzing the results

0 commit comments

Comments
 (0)