来分析两道小题

本文讨论了一个源码中的SQL注入问题,涉及参数解析、数据库连接、字符编码矛盾及解决方案。通过拼接字符处理,作者揭示了如何利用特殊字符绕过安全检查并提出防御措施。
摘要由CSDN通过智能技术生成

一、源码

二、分析

首先它会接两个参数一个是id一个是ps,传递的话会包含一个flag.php,然后数据库连接,之后传递过滤,然后查询,如果查到了就会取id,取出来看是不是跟adog一样,如果是它告诉你账号被锁定,如果不是展示flag

三、矛盾点

如果要进入flag你就要进入大if里面,但是要进入大if就得保证id是adog,那就走到上面账号被锁定,不满足那你就直接走到wrong.... ,总支走不到flag

四、如何解决

字符在程序中认为不是adog但是在mysql中认为是adog,跟我们前天那个文章一样,我写底下了,拼接一下就行,那我们传入的就是adogÃ,第一个大if进入了,因为在mysql中Ã被忽略了,但是第二个if,adogÃ又在代码中不等于adog,因此直接报flag

五、再看一个巩固

前面这个我们说过,看for就行,它在进行0-256的循环,然后转成chr(),之后跟hehe进行连接,比如Ã,之后demo查询的时候就会以heheÃ查,但特殊字段拼接mysql忽略,因此还是正常传

六、如何防御

前面文章我说过了,这里就不阐述了

http://t.csdnimg.cn/C0Gk3 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值