ctf 选择题 题库_实验吧CTF题库writeup

2019-04-28

题目1.后台登录      分值:10     解题参考:https://blog.csdn.net/March97/article/details/81222922

打开是一个登录页面

查看网页源码,发现提示

1

md5($password,true)处存在sql注入点,该函数的作用如下

如果某个字符串经过md5('XXX',true)加密之后的结果包含 ‘’or'+数字,即可构造出一个sql注入语句。在题目链接中包含的字符串即为登录密码字符串 “ffifdyop”

该字符串不唯一,只要经过md5('XXX',true)加密之后的结果包含 ‘’or'+数字 就可以提交成功,拿到flag。

题目2.简单的登录题     分值:50

解题参考:

https://blog.csdn.net/LeeHDsniper/article/details/81089480#

https://blog.csdn.net/include_heqile/article/details/79942993

https://hebin.me/2018/01/26/西普ctf-简单的登录题/

https://www.freebuf.com/articles/system/163756.html

https://r00tnb.github.io/2018/02/09/%E5%AE%9E%E9%AA%8C%E5%90%A7-%E7%AE%80%E5%8D%95%E7%9A%84%E7%99%BB%E5%BD%95%E9%A2%98/

CBC字节翻转攻击:

https://blog.csdn.net/xiaorouji/article/details/82777482

https://blog.csdn.net/csu_vc/article/details/79619309

https://www.freebuf.com/articles/system/163756.html

http://shaobaobaoer.cn/archives/582/cbc%E5%AD%97%E7%AC%A6%E7%BF%BB%E8%BD%AC-%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E6%88%98

解密过程如下图:

正常流程 B ^ C = A

根据异或运算的性质    C = A ^ B   ;    C ^ C = A ^ B ^ C = 0

漏洞利用  (B ^ X ^ A) ^ C = X (X为指定的任意任意字符);

将B的值与(X ^ A)异或后再参与运算就可以控制生成的明文为我们指定的字符X

通过阅读源码得知,输入框过滤了#的,先尝试用字节翻转攻击使用#注释掉limit $id,0中的,0。

Step1

发送如下数据包:

设置id=11(两位数,后面需要把个位换成#,用于截断sql语句)。服务器返回了iv和cipher,然后自己计算一下序列化之后的结果

结果为:a:1:{s:2:"id";s:2:"11";}

Step2

16个byte为一组,进行分组:

BLOCK#1:a:1:{s:2:"id";s:

BLOCK#2:2:"11";}

先修改cipher中的BLOCK#1的密文,使得BLOCK#2的解密后结果为2:"1#";},这样就能够使用#注释掉,0了。

<?php $id="11";$info= array('id'=>$id);echo serialize($info);echo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值