记一次渗透测试自己的jsp项目

 前两天写了个比较简单的login登陆页面,输入username和password,通过输入的username查询数据库中的password和框中的值进行对比验证

测试

 先输入一对值,admin,123456,弹出信息

 果然,意料之内用户名或密码错误,但是我们从这次测试能看出一点,这个数据传输的方式是post,

注入测试

 先试一下SQL注入

 还是没用,而且什么信息都没给,估计它本身并不返回任何值,只是进行判断输出正确还是错误

联合注入

 既然根本不返回任何值,想爆库或者爆表基本上也是不可能的了,只能想办法绕过验证。绕过验证基本思路是这样,如果在数据库中执行select 1语句,输出的值肯定是1,那我就想办法让我不管输入什么username的值,都查不到对应的password,但是通过union select 1使查出来的password值就是1

 这语句很简单就不说了,也可以不是1,是任何值都行,只要password与其对应

总结

 最终注入成功不是通过拿到数据库中的内容,而是绕过了验证,如果想拿到数据库的内容可以通过延时注入,通过先猜数据库名长度,再猜数据库名,猜表名长度,再猜表名,......总之很复杂,就不演示了

 最后忠告各位黑阔大牛,不要在危险的边缘试探,及时收手

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章