SQL注入
各类SQL注入手法
白牧羊人
这个作者很懒,什么都没留下…
展开
-
12.xff注入攻击
黑盒测试下的xff注入攻击。两次结果不一样,存在注入点。原创 2023-11-16 14:22:29 · 115 阅读 · 0 评论 -
11.base64注入
黑盒测试下的base64注入。原创 2023-11-16 14:20:31 · 63 阅读 · 0 评论 -
10.cookies注入
创建额外的cookies值,并将其填充为'黑盒测试下的cookies注入。发送报文发现需要跳转,跟随跳转。三次不同的注入发现报错结果不同。在这里更改cookies的值。这里拥有cookies注入点。原创 2023-11-16 14:18:04 · 52 阅读 · 0 评论 -
9.宽字节注入
这里的关键要让第一个语句错误 :?利用%df使注入语句逃逸。这里让第一个语句直接错误。黑盒测试下的宽字节注入。原创 2023-11-16 14:16:48 · 54 阅读 · 0 评论 -
8.二次注入攻击
这时我们登录hudongyang'#的账号修改他的密码。我们利用密码222222登录hudongyang账号。但是我们不知道他的密码,怎么办呢,可以利用二次注入。这时,我们再创建一个hudongyang'#账号。这时,我们更新的其实是hudongyang的密码。账号hudongyang密码123456789。从用户角度来说,这个账户的密码永远不会被修改的。user_id='1\''正确查询。hudongyang'#的密码没变。user_id='1''查询报错。这是hudongyang的账号。原创 2023-11-16 14:15:49 · 328 阅读 · 0 评论 -
安全狗的沦陷
这里的拦截,是and与数字等式同时存在时,或者select、union任意一个单词存在,就会直接拦截如vince'and 1!=2#,就会被拦截而将1转换为acll码,则不会被拦截=1#这里解码0的ascll码为30,同样被拦截=1#同样不拦截这里总结,只要语句中没有数字等式1=1之类的,就不会被拦截拥有注入点。原创 2023-11-14 15:44:27 · 510 阅读 · 0 评论 -
7.堆叠注入
将查询结果作为一个账号插入到数据库users表的第22行,然后让数据库直接正常返回第22行的数据,得到想要的子查询结果。这个账户创建后,可以利用这个账户直接登录对方数据库,当离开时,将日志和这个账户删除即可。账号名baiyang,密码123456,位置为users表的20号位置。这种注入手法可以对数据库进行增删改查。当前连接的数据库名为security。两次试探返回不一样,可能存在注入。而不是像之前一样只能查询数据。将正常账号位改为子查询语句。获取指定表中所有的字段。原创 2023-11-16 14:09:30 · 54 阅读 · 0 评论 -
5.布尔型盲注
if(substring((select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='users' and TABLE_SCHEMA=database() limit 0,1),1,1)='u',1,0)获取字段名。因为页面不会返回具体数据,所以我们需要以对错的形式,看页面报不报错,来判断字符的正确性,正确返回1,错误返回0。因为提取起始位置为第一个字符,提取长度为1个字符,所以最终提取到的结果为字符d。原创 2023-11-10 15:35:04 · 341 阅读 · 0 评论 -
6.SQL报错注入攻击
这是因为网站健壮性太弱,没有对闭合攻击进行过滤导致的。利用数据库返回的报错信息直接得到敏感信息,这里的dvwa就是数据库名。我们输入1,他是正确的。这样就是有报错注入点。黑盒模式下的报错注入。原创 2023-11-10 15:29:58 · 58 阅读 · 0 评论 -
4.联合查询注入
但数据库的表的数据都会保存在information_schema这个表中,我们只要将这个一定会存在的表,给他破解掉,就可以获得这个数据库中的全部表名了。当联合查询两个以上语句时,如果将comment_id设定为1的话,那除了第一个语句外的后面的所有语句都将不会回显出来。利用联合查询创造多个查询点,然后将第二个查询语句的数字替换成为各种函数,一次性进行多个查询。当输入值改为1' and '1'='2时,页面直接崩溃,说明这里有一个字符型注入漏洞。联合查询,两边的字段数要相同,不然会报错。判断字段数(注入点)原创 2023-11-10 15:20:05 · 52 阅读 · 0 评论 -
3.手工注入实战
要注意,在2这个注入点中,只能放置一个查询字段,即username和password只能选一个。或者利用group_concat()将两个字段拼接到一起,可以被当成一个字段使用。在非用户名不同的情况下,因为并查询结果导致报错,确认变量可以影响对方数据库。以上为基础命令注入,接下来可以尝试注入一些完整的语句。将原有正确账户改错,只显示联合查询的两个注入点语句。确认用户控制的变量是否可以影响数据库。用语句替换注入点数字,进行数据库注入。提取两个注入点对应语句。第三个注入点试探失败。确认此处有两个注入点。原创 2023-11-10 15:17:01 · 142 阅读 · 0 评论 -
2.手工SQL注入概念
因为这个1是用户可以控制的,当用户写入'时,就会像这样。这样可以测试出,有没有这个注入点。--为SQL中的注释符。三种SQL语句的注释符。SQL注入常规利用思路。原创 2023-11-10 15:16:23 · 375 阅读 · 0 评论 -
1.SQL注入神器
SQL注入神器原创 2023-11-10 15:13:04 · 83 阅读 · 1 评论