SQL Injection

やられアプリ BadTodo - 3.10 ブラインドSQLインジェクション (Boolean-Based) 練習

前回:やられアプリ BadTodo - 3.9 SQLインジェクション 対策方法 - demandosigno これまでのSQLインジェクションは、UNION SELECT 演算子を使って既に存在する表に追記させたり、SLQエラー文の出力を利用して情報を得たりしました。 しかし、結果を出力する…

やられアプリ BadTodo - 3.9 SQLインジェクション 対策方法

前回:やられアプリ BadTodo - 3.8 SQLインジェクション sqlmapを使ってみる - demandosigno これまで検査方法についてIPAのサイトや徳丸本を参考にしてきましたが、対策方法についても同様です。 「安全なウェブサイトの作り方 - 1.1 SQLインジェクション |…

やられアプリ BadTodo - 3.8 SQLインジェクション sqlmapを使う

前回:やられアプリ BadTodo - 3.7 SQLインジェクション idパラメータに対して - demandosigno sqlmap はSQLインジェクションを検出するためのオープンソースのテストツールです。 sqlmap: automatic SQL injection and database takeover tool これまでの検…

やられアプリ BadTodo - 25.2 NULLバイト攻撃(+SQLインジェクション)

前回:やられアプリ BadTodo - 24.1 NULLバイト攻撃(+ファイルインクルード) - demandosigno 新規ユーザー登録時などにバリデーションチェックが入り(記号などの入力はダメで)「英数字で」と注意されます。 この時のチェックはAPIが行っているのですが、…

やられアプリ BadTodo - 3.7 SQLインジェクション idパラメータに対して

前回:やられアプリ BadTodo - 3.6 SQLインジェクション MariaDBのパスワード取得 - demandosigno これまで、主にTodoリスト一覧画面のkeyパラメータに対してSQLインジェクションを試して来ました。 /todolist.php?rnd=64fe3eba0ee01&key=%27+UNION+SELECT+N…

やられアプリ BadTodo - 3.6 SQLインジェクション MariaDBのパスワード取得

前回:やられアプリ BadTodo - 3.5 SQLインジェクション 情報の改ざん・追加・削除 - demandosigno MariaDBのバージョンの表示 SELECT @@version; ' UNION SELECT null,null,@@version,null,null,null,null,null,null,null# passwdファイルの表示 SELECT LOA…

やられアプリ BadTodo - 3.5 SQLインジェクション 情報の改ざん・追加・削除

前回:やられアプリ BadTodo - 3.4 SQLインジェクション ID・パスワードの取得 - demandosigno 前提:前回でデータベース「todo」にテーブル名「todos」があり、Todoリスト機能部分はそれを使っていることが分かっています。 todosテーブルのカラム一覧 ' UN…

やられアプリ BadTodo - 3.4 SQLインジェクション ID・パスワードの取得

前回:やられアプリ BadTodo - 3.3 SQLインジェクション DB情報の取得 - demandosigno テーブル一覧の表示 前回、データベースの一覧は次の通りと分かりました。 ・information_schema ・mysql ・sys ・todo ・performance_schema この中でBadTodo自体のデー…

やられアプリ BadTodo - 3.3 SQLインジェクション DB情報の取得

前回:やられアプリ BadTodo - 3.2 SQLインジェクション 非公開情報の漏洩 - demandosigno 深掘り 前回「検索画面」でのSQLインジェクションを試し通常では表示されない非公開のTodoを表示させることができました。 今回はさらにDB内のその他の情報を閲覧で…

やられアプリ BadTodo - 3.2 SQLインジェクション 非公開情報の漏洩

前回:やられアプリ BadTodo - 3.1 SQLインジェクション 認証の回避 - demandosigno Todo検索画面でのSQLインジェクション ログイン前の検索画面 補足:画像では検索窓が左寄せとなっていますが、最新のBadTodoでは右寄せになっています。 文字列testで検索…

やられアプリ BadTodo - 3.1 SQLインジェクション 認証の回避

前回。OWASP ZAPにてざっと自動検査を行いました。 やられアプリ BadTodo - 2 ZAPでのスキャン - demandosigno 今回から、検出された脆弱性が本当に存在するかを手動でチェックしていきます。 ・SQLインジェクションの一例 www.youtube.com 最初の例として徳…

WebGaot 6-2 SQL Injection (intro)

No.9 Try It! String SQL injection コード内のクエリは、前の例で見たように動的なクエリを構築します。このクエリは文字列を連結して作られているため、String SQL Injectionの影響を受けやすくなっています。 "SELECT * FROM user_data WHERE first_name …

WebGaot 6-1 SQL Injection (intro)

No.2 What is SQL? SQLとは、標準化された(1986年にANSI、1987年にISO)プログラミング言語で、リレーショナル・データベースを管理し、データベース内のデータに対してさまざまな操作を行うために使用されます。 データベースとは、データの集まりのことで…

sqlmap

sqlmap: automatic SQL injection and database takeover tool SQL Injection に特化したオープンソースの診断ツール。 Metasploitable2 Linux を起動 Kali Linux から BurpSuite を起動 root@kali:~# burpsuite [Proxy] → [Options]から ローカルホスト(12…

SQL Injection(Blind SQL Injection)

SQLインジェクション - WikipediaブラインドSQLインジェクションと呼ばれる手法も存在する。例えば、「テーブル名の1文字目がaのテーブルは存在するか?」「aで始まり2文字目がbのテーブルは存在するか?」などの情報を確認するサブクエリーを含め、その抽出…

SQL Injection

安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構P.6「1.1 SQL インジェクション」参照別冊:「安全なSQLの呼び出し方」参照 Metasploitable2 の DVWA にログインする Security Level : low を確認 左欄から SQL Injection を選択し、Vulnera…

/* -----codeの行番号----- */