msf 在非 session 模式下与 session 模式下都支持第三方的加载与第三方框架的融合。代表参数为 load。两种模式下的 load 意义不同。本季主要针对非 session 模式下的 load sqlmap情景。
第三十五课:与Sqlmap结合攻击 - 图1

第三十五课:与Sqlmap结合攻击 - 图2

加载Sqlmap后,主要参数如下:

  1. Sqlmap Commands
  2. ===============
  3. Command Description
  4. ‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐
  5. sqlmap_connect sqlmap_connect <host> [<port>]
  6. sqlmap_get_data Get the resulting data of the task
  7. sqlmap_get_log Get the running log of a task
  8. sqlmap_get_option Get an option for a task
  9. sqlmap_get_status Get the status of a task
  10. sqlmap_list_tasks List the knows tasks. New tasks are not stored in DB,so lives as long as the console does
  11. sqlmap_new_task Create a new task
  12. sqlmap_save_data Save the resulting data as web_vulns
  13. sqlmap_set_option Set an option for a task
  14. sqlmap_start_task Start the task
  15. msf exploit(multi/handler) > help sqlmap

help 加载的模块名,为显示第三方的帮助文档。
第三十五课:与Sqlmap结合攻击 - 图3

msf 上的 sqlmap 插件依赖于 sqlmap 的 sqlmapapi.py 在使用前需要启动sqlmapapi.py

第三十五课:与Sqlmap结合攻击 - 图4

然后在msf上建立任务。

而 sqlmap 对 msf 也完美支持。

靶机:
192.168.1.115,Sql server 2005 + aspx.net

构造注入点,如图1:

图1:

数据结构,如图2:
第三十五课:与Sqlmap结合攻击 - 图6

第三十五课:与Sqlmap结合攻击 - 图7

第三十五课:与Sqlmap结合攻击 - 图8

第三十五课:与Sqlmap结合攻击 - 图9

第三十五课:与Sqlmap结合攻击 - 图10

关于msf与sqlmap的结合在未来的系列中还会继续讲述,本季作为基础。

附录:

注入点代码:

  1. <%@ Page Language="C#" AutoEventWireup="true" %>
  2. <%@ Import Namespace="System.Data" %>
  3. <%@ Import namespace="System.Data.SqlClient" %>
  4. <!DOCTYPE html>
  5. <script runat="server">
  6. private DataSet resSet=new DataSet();
  7. protected void Page_Load(object sender, EventArgs e)
  8. {
  9. String strconn = "server=.;database=xxrenshi;uid=sa;pwd=123456";
  10. string id = Request.Params["id"];
  11. //string sql = string.Format("select * from admin where id={0}", id);
  12. string sql = "select * from sys_user where id=" + id;
  13. SqlConnection connection=new SqlConnection(strconn);
  14. connection.Open();
  15. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection);
  16. dataAdapter.Fill(resSet);
  17. DgData.DataSource = resSet.Tables[0];
  18. DgData.DataBind();
  19. Response.Write("sql:<br>"+sql);
  20. Response.Write("<br>Result:");
  21. }
  22. </script>
  23. <html xmlns="http://www.w3.org/1999/xhtml">
  24. <head runat="server">
  25. <meta httpequiv="Content‐Type" content="text/html; charset=utf‐8"/>
  26. <title></title>
  27. </head>
  28. <body>
  29. <form id="form1" runat="server">
  30. <div>
  31. <asp:DataGrid ID="DgData" runat="server" BackColor="White" BorderColor="#3366CC"
  32. BorderStyle="None" BorderWidth="1px" CellPadding="4"
  33. HeaderStyleCssClass="head" Width="203px">
  34. <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
  35. <SelectedItemStyle BackColor="#009999" FontBold="True" ForeColor="#CCFF99" />
  36. <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" Mode="NumericPages" />
  37. <ItemStyle BackColor="White" ForeColor="#003399" />
  38. <HeaderStyle CssClass="head" BackColor="#003399" FontBold="True" Fore
  39. Color="#CCCCFF"></HeaderStyle>
  40. </asp:DataGrid>
  41. </div>
  42. </form>
  43. </body>
  44. </html>

Micropoor