花瓣小跑 发表于 2024-12-5 05:56:43

小迪安全笔记 第四十四天 sql盲注 && 实战利用sql盲注 进行漏洞的利用

sql盲注的分类

什么是盲注    就是我们什么也不知道的情况下进行的注入   前边的注入  都是简单的注入   我们猜测 数据类型  之后 可以直接  union  去查    这种情况多用于   数据库增删查改中的 查    
bool盲注也用于查   这个的情况的就是我们前边都试了 没有效  就必要盲注了  (下边的实战是白盒测试)
而 增编削   就要我们 进行 耽误注入和报错注入 
1、bool盲注   

布尔盲注 就是利用一些逻辑函数  来爆取数据库的一些信息
演示一下  最简单的布尔 
条件  :bool盲注的条件是    1、数据库的内容进行回显 
我们看一下  这类的源码https://i-blog.csdnimg.cn/direct/8b8bda07ed0e44699737452dc156617d.png    
了解一下  利用方法
  函数 length (str)= "  "       他的作用就是显示字符串的长度   
SELECT * from admin WHERE id=1  AND LENGTH(DATABASE())='4' ;   https://i-blog.csdnimg.cn/direct/bc325ffca54940189e6486c6b22ee58e.png   
我们实行上边我的那个语句   直接出来的表是空的呀https://i-blog.csdnimg.cn/direct/f17590e7aa6c40a2a0738c253aeb4002.png
我们写对字符串长度之后https://i-blog.csdnimg.cn/direct/0818539f639c495dac5371a1d266b5bd.png
把表输出了呀   那这个目的是什么呀   :  就是用来猜数据库名的长度的  ?   猜到了长度我们怎么知道他是什么名呀 ?
还必要一个函数   left 函数(从左到右逐个读取)   他的作用就是根据长度猜名字    用法 :  left(database(),1)=a  //这个表示猜测database的第一位是a(因为这个)    再继续猜就得
演示一下https://i-blog.csdnimg.cn/direct/08bdc1c78e154ebda1acdd8629d682da.png
输入正确的  字母之后 查询可以继续进行  要是错误的https://i-blog.csdnimg.cn/direct/76a9beaef17a4b75b0d87ab43130f5f3.png 
就不会输出数据      注意一点就是查第二位的时间 要把我们第一位猜正确的写上https://i-blog.csdnimg.cn/direct/ea594e6f1915433e860879c4b3a5536b.png
SQL中字符串截取函数(SUBSTRING)_sql substring-CSDN博客
bool盲注  假如数据不回显直接就   鸡鸡了  但是别急 下边有金牌辅助
上边另有这个 substr 截取函数  这个在第四十天的笔记
延时注入(if  sleep)

原理就是   sleep这个函数会在我们实行语句的时间   耽误实行  这个要搭配   if判定语句
if判定     举个例子     if(1=1,2,3)  假如1=1正确就实行2   假如不成功就实行  3 
这个多用来判定注入点   就是当我们的数据不会显的时间 我们可以这样注入  or if(1=1,sleep(5),0)  假如卡了   说明注入成功呀  那是不是结合 bool 盲注  就可以这样  :  or if(left(database(),1)='a',sleep(3),0)    卡了就说明我们猜对了一位
演示一下https://i-blog.csdnimg.cn/direct/efe0db743ed04a1ba17762270b233309.png

报错回显

updatexml(xml旧的内容,路径,新的内容)   下边这个大佬讲的很明确不懂可以看看他的文章
updatexml函数-报错注入原理学习-CSDN博客
updatexml  第一个和第三个参数是可以任意写的     第二个参数就是我们要注入 的内容
报错回显的利用条件就是   可以没有数据的回显  但是必须有报错函数的利用https://i-blog.csdnimg.cn/direct/71f71c4e64b94c8394cab7785b932ced.png
利用 pikachu  演示:https://i-blog.csdnimg.cn/direct/7763f45fa3124cc490d69bfbfdced961.png
' and updatexml(1,version(),1) and '          payloadhttps://i-blog.csdnimg.cn/direct/f011256f317b4f69a97eff51ab83b181.png
利用报错获取信息:获取了版本号    这里有个进阶的语句    就是这样我们获取版本号假如 报错很长的话   就无法  分清 那该怎么办呀    我们之前不是学了一个 假如我们查找的数据有类似的就不会输出   我们利用   group_concat  进行输出    如今我们利用  concat 进行输出
详解MySQL中CONCAT()函数的用法(链接字符串)_mysqlconcat-CSDN博客
因为这个可以控制输出(拼接字符串)   以是我们就可以在效果前边 加上  易于分别的字符  
' and updatexml(1,concat(0x7e,database()),1) and '  
https://i-blog.csdnimg.cn/direct/bd980339224345fd890ba99a520d98db.png
那我们固然可以进一步去爆表
逻辑布尔注入

这个实在和  耽误差不多  就是这个必要数据回显    就是我们输错了   他会提示我们的那种
演示:演示一下逻辑报错     https://i-blog.csdnimg.cn/direct/dfafaec96cb043c1bf0164dd791a2a56.png
我们直接利用  or的时间  就会报错    但是我们利用and  就会给我们实行数据库的操作    逻辑就是 or我们输入的kobe是存在的  但是  or  因为前边这个就是对的了  他就不会再去看后边的   
但是  and逻辑   就是  前边的是对的  后边照旧要进行的  为什么这个和前边的注入不一样啊  就是因为  这个是个  insert 类型的注入
 https://i-blog.csdnimg.cn/direct/487d09f18b874cad84102db01cfac883.png
利用逻辑判定  数据库的字母  substr 进行爆破注入 kobe' and substr(database(),1,1)='p'  #
只要逻辑对   就会有数据的回显      
说一声这个   substr(object,在那个位置截取字符,截取几个字符)    这个和上面的left的作用是类似的
https://i-blog.csdnimg.cn/direct/19b94642a12c4bbc8d1044528da8c55b.png
爆破数据库表

涉及函数   exists函数    这个原意是预判定  语句  就是我们说   假如一个网站的访问量大于100  然后输出他的网站名     那后边这个就是有  exists进行实行 (为什么用它呀   就是他可以实行语句啊)
SQL EXISTS 运算符 | 菜鸟教程
kobe'  and exists(select * from a) #                 实行这个语句  演示一下爆破a
https://i-blog.csdnimg.cn/direct/d91913363f1d4a2bba225c4b4d53b3ff.png
抓包   然后直接  发到   intruder  并对 aa 增加 payload  然后去添加字典  模式 选择狙击手就行  因为就一个   目标      这边好的字典各人可以直接去网上找我就任意写几个了https://i-blog.csdnimg.cn/direct/0d32b66387db48ed91929e4617b06b9b.png
https://i-blog.csdnimg.cn/direct/2c686b10c6ed41e0a9dc72072bc897f0.png
直接发到 repeater  https://i-blog.csdnimg.cn/direct/022ed31e22df42dfa68c176df7e5e910.png
那不还可以接着爆破列呀是吧
sqlmap 办理盲注题目

sqlmap  资助我们进行sql盲注题目  :  你妹的手工注入真难啊  一遍一遍的猜  真难受   我们直接开启我们的 sqlmap之旅吧     
1、先找注入点https://i-blog.csdnimg.cn/direct/29001dddbee644809602cc51dee65726.png      把这个url复制一下
1、
https://i-blog.csdnimg.cn/direct/fc55cc8fafb244b283363929fba6d542.png
https://i-blog.csdnimg.cn/direct/c00bf2be5f224a8fb80228dccc2ac7ac.png
2、 爆表  有注入点之后我们直接进行  爆表https://i-blog.csdnimg.cn/direct/07880b48bd854b3eb5d46910a5ed16c1.png
3、  爆列名  https://i-blog.csdnimg.cn/direct/f50d7cb6caf949928b83952e273c451e.png
上边这个下令错了哈  下边这个是https://i-blog.csdnimg.cn/direct/e07d25af8e1a40009bd9e5e53b4f233d.png
https://i-blog.csdnimg.cn/direct/f9e5c4aa70864617ad19a3653f70c90b.png
https://i-blog.csdnimg.cn/direct/7a278a3ad2fc4051b6dff2057cd72e31.png
直接拿下  哎呀照旧工具好用啊
实例  复现 delete 删除数据 漏洞

无回显  无报错的情况  那这个情况我们只能用什么 盲注啊   (耽误)
白盒测试  这个kkcms(源码在文末)https://i-blog.csdnimg.cn/direct/cde93735c310480d981a275153cbb2f3.png
一个看片网站    那我们展示一下他的盲注吧(当地phpstudy 搭建网站我就不说了)https://i-blog.csdnimg.cn/direct/e3de1eb0c91f497291947c06b3b96954.png
ctrl shift f  是全局搜刮的意思   这边我就不演示了再
搜到这个之后我们进入这个ad_edit  网站(这个是在admin目次下的以是必要  后天管理员账号暗码)为了直接复现  我直接说漏洞的位置
后台的这个登录删除 : 
https://i-blog.csdnimg.cn/direct/80a121b48d72418c80ce2f23fdfe6f60.png
点删除抓包
https://i-blog.csdnimg.cn/direct/9fd67a8c475145439f390cb3e4289167.png
payload :直接注入在ID那里  %20and%20if(substr(database(),1,1)='k',sleep(2),null)%20
%20是空格url编码()的意思  这个语句没毛病吧   我去发送了怎么没耽误啊
我们(猜猜可能是有过滤)输出https://i-blog.csdnimg.cn/direct/b6840d2980864432bda57ada2719a717.png
这个实在是 php自带的一个防注入(转义的把戏方法)的的  就是我们的注入  的  'xxx'   会被写成    '\xxx'\   那这样还注入个毛啊 注入   ?   我们可以进行ascii码进行绕过 https://i-blog.csdnimg.cn/direct/32c7e905bd3c4eb9b67067ad67166f90.png
or%20if(ascii(substr(database(),1,1)=107,sleep(2),null)      (这里有个细节就是 必须用or呀  否则就是逻辑题目  and 不会判定后边的东西)   进行一下 ascii的转换 为什么 进行这个呀   因为我们转换之后 ' ' 就没了   这个ascii码的转换  是常用的绕过  '  '   的方法 
https://i-blog.csdnimg.cn/direct/70679a47a05d44978508f609cdae109e.png
https://i-blog.csdnimg.cn/direct/b1d5c879cdf84ee58f956fff8dbdc553.png
​​​​​​​
总结

重要学了差别的盲注方法    bool  用于数据的回显    耽误因为它本身注意作用就是判定用的  以是数据回显和报错代码的存在对他没影响
黑盒测试:假如是黑盒我们必要可以找注入点直接工具  也可以分析
第二种就是 根据数据的回显和报错进行分别测试  从而选择  差别的注入方法
bool型(必要数据的回显)
报错型  (必要 error函数的出现)
耽误型   最全能的可能搭配 bool进行爆破
火狐渗透  蓝奏云优享版
kk源码   蓝奏云优享版

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 小迪安全笔记 第四十四天 sql盲注 && 实战利用sql盲注 进行漏洞的利用