問題タブ [mysql-loadfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2790 参照

mysql - mysql で load_file() が機能しない

load_file() を機能させるために 2 晩苦労しましたが、結果は NULL です。バージョン「5.6.19-0ubuntu0.14.04.1」を実行しています。

例:

ファイルのパーミッション:

チェック済み:

  • MySqlは実行され、ディレクトリを所有しています
  • Mysqlはファイルを所有しています
  • DB ユーザー = root
  • ファイルサイズ < max_allowed_pa​​ckets
  • secure-file-priv が設定されている
  • 実行中のアパマーはありません

secure-file-priv を設定しないと、/etc/passwd のような重要でないデータを簡単に読み取ることができます:P. 「/」からもインポートできますが、他にはありません。secure-file-priv を設定すると、「/」からのみ動作するようになります。

同じファイル、secure-file-priv セットなし:

何か案は?

0 投票する
1 に答える
1522 参照

mysql - MySql LOAD_FILE 奇妙なパーミッションの問題?

私は、SQL インジェクション攻撃の犠牲となった職場の Web サイトを管理しています。ログを調べると、攻撃者がファイル読み取りオプションを使用して、サーバーから多数の構成ファイルを取得したようです。これは、Web 開発者がずさんで、root mysql アカウントを使用して接続したためです (FILE 権限がありました)。sqlmap

これが私が理解しようとしている地獄のような奇妙な部分です。ファイルが読み取られたのは知っていますが、攻撃者がこれらのファイルの 1 つのパスワードを使用してシステムに侵入したためです。ログを見て、彼は最初にconfig.php と他のいくつかを参照する index.php をつかみました。それらはすべて標的にされました。

セキュリティを強化するために、sqlmap を取得してサーバーにアクセスし、その仕組みを理解した後、ファイルを取得することができました。

私たちの SQL サーバーは外部に面していないため、攻撃者はこれを試みることができませんでした。ここに奇妙な部分があります:

私は自分のデスクトップから私たちに接続し、選択と同様にMySQL server試しましたLOAD_FILELOAD DATA INFILE into TABLE.

それらのいくつかは機能しました。たとえばselect LOAD_FILE('/etc/passwd')/etc/passwd.

しかし、それらのすべてが機能したわけではありません。

select LOAD_FILE('/var/www/site_name/index.php') 返され NULLました。

LOAD DATA INFILE '/var/www/site_name/index.php' INTO temp; 戻ってきた:

エラー 29 (HY000): ファイル '/var/www/site_name/index.php' が見つかりません (エラーコード: 13)

何?ファイルが見つかりません?は?

そのため、同じファイルに対して sqlmap を実行し、ダウンロードしました。

私はすべてを見ることができるように実行sqlmapしまし-v 6た-ファイルを取得するためにLOAD_FILEを使用していました。

インジェクション攻撃で LOAD_FILE が機能するのに、mysql クライアント コマンド ラインからファイルをロードすると NULL またはファイルが見つからないのはなぜですか? しかし、一部のファイルのみですか?/etc/passwd と /etc/hosts は読み取り可能でした。

どんな手掛かり?

0 投票する
1 に答える
1070 参照

php - MySQL ロード ファイルとアポストロフィ

| で区切られた 2 つのフィールドを含むテキスト ファイルがあります。改行で記録

私は3つの列(id、name、val)を持つMySqlテーブルを持っています//id autoincrement ...

そのため、mysql ロード ファイル機能を使用して値を name と val に挿入したいと考えていますが、主な問題はファイルのロード中のアポストロフィです ...

ロードファイルを介してクエリを実行中にスラヘスを追加する方法は?

0 投票する
3 に答える
37579 参照

mysql - SQL構文のみを使用して(PHPなしで)mysqlテーブルのブロブに画像を挿入する方法は?

  1. こんにちは、私は SQL を初めて使用し、データベースに画像を保存したいと考えていました。すでに blob データ型の列を作成しており、ここに示されている次のステートメントを実行しようとしました。

エラーを与える

SQL 構文にエラーがあります。C:\Users\name\Desktop\New folder\a.png4 行目の '( Bulk , SINGLE_BLOB) AS BLOB'付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

hereのように、次のコードも試しました

エラーを与える

#1064 - SQL 構文にエラーがあります。abc使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してくださいimg

したがって、phpなどを使用せずに単純なSQL挿入ステートメントを使用して画像をブロブに保存する方法を教えてください。データベースにwampサーバーを使用しています。

  1. データベースを使用する代わりに、画像にファイル システムを使用する必要があることはわかっています。しかし、ファイル システムとは実際には何を意味するのでしょうか。アドレスがデータベースに保存されるファイルまたは画像ホスティング サイトを意味しますか。
0 投票する
1 に答える
85 参照

mysql - Errcode: SQL Database にデータをロードするときの 13

ファイルを DB にロードしようとしています。

email.tsv ファイルには 3 つの列があり、作成した一時テーブルには 4 つの列があります。これが正しい構文かどうかはわかりません。ID主キー列を持つために4番目の列を含めました。

このコードを実行すると、次のエラーが発生します。

0 投票する
0 に答える
74 参照

mysql - 他言語(中国語)の文字が???????に変わります。Mysql ロード クエリ

いくつかの列に中国語が含まれているcsvファイルがあり、クエリを使用して Mysql テーブルに csv ファイルをアップロードしています。

アップロード後、漢字がテーブルに変更さ????????れていmysqlます。なぜこれが起こっているのですか?解決策はありますか。

ありがとう:)