mirror of
https://github.com/hohn/codeql-dataflow-sql-injection.git
synced 2025-12-16 18:23:05 +01:00
54 lines
1.1 KiB
Org Mode
54 lines
1.1 KiB
Org Mode
* SQL injection example
|
||
** Setup and sample run
|
||
#+BEGIN_SRC sh
|
||
# Use a simple headline prompt
|
||
PS1='
|
||
\033[32m---- SQL injection demo ----\[\033[33m\033[0m\]
|
||
$?:$ '
|
||
|
||
|
||
# Build
|
||
./build.sh
|
||
|
||
# Prepare db
|
||
./admin rm-db
|
||
./admin create-db
|
||
./admin show-db
|
||
|
||
# Add regular user interactively
|
||
./add-user 2>> users.log
|
||
First User
|
||
|
||
|
||
# Check
|
||
./admin show-db
|
||
|
||
# Regular user via "external" process
|
||
echo "User Outside" | ./add-user 2>> users.log
|
||
./admin show-db
|
||
|
||
# Add Johnny Droptable
|
||
./add-user 2>> users.log
|
||
Johnny'); DROP TABLE users; --
|
||
|
||
|
||
# And the problem:
|
||
./admin show-db
|
||
|
||
#+END_SRC
|
||
|
||
** Build codeql database
|
||
#+BEGIN_SRC sh
|
||
# Build the db with source commit id.
|
||
export PATH=$HOME/local/vmsync/codeql224:"$PATH"
|
||
SRCDIR=$HOME/local/codeql-dataflow-sql-injection/
|
||
DB=$HOME/local/db/codeql-dataflow-sql-injection-$(cd $SRCDIR && git rev-parse --short HEAD)
|
||
|
||
echo $DB
|
||
test -d "$DB" && rm -fR "$DB"
|
||
mkdir -p "$DB"
|
||
|
||
cd $SRCDIR
|
||
codeql database create --language=cpp -s $SRCDIR -j 8 -v $DB --command='./build.sh'
|
||
#+END_SRC
|