二次排序注入
二次排序注入也称为存储型注入,就是将可能导致 sql 注入的字符先存入到数据库中,当再次调用这个恶意构造的字符时,就可以出发 sql 注入。
二次排序注入思路:
1. 黑客通过构造数据的形式,在浏览器或者其他软件中提交 HTTP 数据报文请求到服务 端进行处理,提交的数据报文请求中可能包含了黑客构造的 SQL 语句或者命令。
2. 服务端应用程序会将黑客提交的数据信息进行存储,通常是保存在数据库中,保存的 数据信息的主要作用是为应用程序执行其他功能提供原始输入数据并对客户端请求做出响 应。
3. 黑客向服务端发送第二个与第一次不相同的请求数据信息。
4. 服务端接收到黑客提交的第二个请求信息后,为了处理该请求,服务端会查询数据库 中已经存储的数据信息并处理,从而导致黑客在第一次请求中构造的 SQL 语句或者命令在服 务端环境中执行。
5. 服务端返回执行的处理结果数据信息,黑客可以通过返回的结果数据信息判断二次注 入漏洞利用是否成功。
sqli24:
注册一个名为admin'#的用户
登录该账户修改密码
此时的sql语句为:
UPDATE users SET passwd="New_Pass" WHERE username ='admin'#' AND password='xxx
导致的结果是,'admin'用户密码将被修改为New_Pass
https://www.jianshu.com/p/126d133f4ed1
https://www.cnblogs.com/aware-why/p/5844702.html
https://www.cnblogs.com/aware-why/p/5844702.html
https://www.secpulse.com/archives/25757.html
http://www.vuln.cn/8139
通过Burp以及自定义的Sqlmap Tamper进行二次SQL注入