“流量包分析”之sqltest
sqltest
原本只是想刷一刷sql注入的却意外的找到了一道misc题但是和sql注入关系紧密的sqltest。
这是一道流量包分析,首先先下载流量包。
然后百度下载可以打开浏览包的软件,O(∩_∩)O哈哈~~
第一次查看流量包

这密密麻麻的字确实让人望而却步,但是还是可以看出一些端倪。
比如其中有一些get请求意外的相似:
GET /index.php?act=news&id=1%20and%20ascii(substr(((select%20concat_ws(char(94),%20flag)%20%20from%20db_flag.tb_flag%20%20limit%200,1)),%2020,%201))>99
8084 11.866325 10.0.2.15 172.16.80.11 HTTP 495 GET /index.php?act=news&id=1%20and%20ascii(substr(((select%20concat_ws(char(94),%20flag)%20%20from%20db_flag.tb_flag%20%20limit%200,1)),%2020,%201))>98
8094 11.872110 10.0.2.15 172.16.80.11 HTTP 495 GET /index.php?act=news&id=1%20and%20ascii(substr(((select%20concat_ws(char(94),%20flag)%20%20from%20db_flag.tb_flag%20%20limit%200,1)),%2020,%201))>98 HTTP/1.1
仔细看这不就是布尔盲注的爆破内容。
无列名注入
sql注入之无名注入
在我们进行sql注入的时候,有时候information_schema这个库可能会因为过滤而无法调用,这时我们就不能通过这个库来查出表名和列名。不过我们可以通过两种方法来查出表名:
InnoDb引擎
从MYSQL5.5.8开始,InnoDB成为其默认存储引擎。而在MYSQL5.6以上的版本中,inndb增加了innodb_index_stats和innodb_table_stats两张表,这两张表中都存储了数据库和其数据表的信息,但是没有存储列名。
sys数据库
在5.7以上的MYSQL中,新增了sys数据库,该库的基础数据来自information_schema和performance_chema,其本身不存储数据。可以通过其中的schema_auto_increment_columns来获取表名。
文章截取csdn
less17-
less17的注入过滤
1 | function check_input($value) |
substr($value,0,15);首先截取前16个字符
magic_quotes_gpc()函数在php中作用是判断用户提供数据,如包括有:post,get,cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序的错误
ctype_digit()判断是不是纯的数字
mysql_real_escape_string()调用mysql库的函数 mysql_real_escape_string,在以下字符前添加反斜杠:\x00,\n,\r,,‘,”,和\x1a,默认字符集。



