实验吧部分WP(一)

后台登陆

这道题给了一个登录框,第一反应是sql注入。随便输个东西进去发现没反应,就先看看源码。
SQL注入实锤了
源码大概意思是用输入经过md5加密后的密码和admin用户名查询,结果等于sql,然后看数据库中是否存在sql。将MD5值转化为16位原始二进制格式。

知识点:
  1. mysqli_query(connection,query,resultmode)函数:
    connection: 必需。规定要使用的 MySQL 连接。
    query: 必需,规定查询字符串。
    resultmode: 可选。一个常量。可以是下列值中的任意一个:
  • MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
  • MYSQLI_STORE_RESULT(默认)
  1. mysqli_num_rows(result)函数:
    result: 必需。规定由 mysqli_query()、mysqli_store_result() 或 mysqli_use_result() 返回的结果集标识符。
  2. md5(string)函数:
    string:必需。把string用md5方式加密。
    这时候看了别人的WP,发现url里的ffifdyop.php的ffifdyop是我们所要的字符串,这个字符串MD5incode后是:
    276f722736c95d99e921722cf9ed621c
    然后以上字符串再decode后是:'or’6
    加到原来的语句中就是:
    SELECT * FROM admin WHERE username = ‘admin’ and password = '‘or’6’
    成功绕过的验证password 。所以提交ffifdyop得到flag。
    在这里插入图片描述

变异凯撒

对比afZ_和flag的ASCII码,由a-f为5,f-l为6,Z-a为7,_-g为8,故猜测移动的位数为从5依次递增
写脚本得到:
#-- coding:utf-8 --
from future import print_function
import string
str = “afZ_r9VYfScOeO_UL^RWUc”
num = 5
for x in str:
i = ord(x)
i = i + num
print (chr(i),end=’’)
num=num+1
因此flag为flag{Caesar_variation}

传统知识+古典密码

网上查查六十甲子顺序表
再每个数+60,依次得到:
88 90 83 68 77 70 76 90
对应ASCII码是:
X Z S D M F L Z
尝试古典密码里得栅栏和凯撒,反正最后百度去了。。先栅栏再凯撒找到flag是SHUANGYU。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值