@@ -4,33 +4,33 @@ class ConvertBinary < ActiveRecord::Migration
4
4
class WebPage < ActiveRecord ::Base
5
5
serialize :headers
6
6
end
7
-
7
+
8
8
class WebVuln < ActiveRecord ::Base
9
9
serialize :params
10
10
end
11
-
11
+
12
12
def bfilter ( str )
13
13
str = str . to_s
14
14
str . encoding = 'binary' if str . respond_to? ( 'encoding=' )
15
15
str . gsub ( /[\x00 \x7f -\xff ]/ , '' )
16
16
end
17
-
17
+
18
18
def self . up
19
19
rename_column :web_pages , :body , :body_text
20
20
rename_column :web_pages , :request , :request_text
21
21
rename_column :web_vulns , :request , :request_text
22
22
rename_column :web_vulns , :proof , :proof_text
23
-
23
+
24
24
add_column :web_pages , :body , :binary
25
25
add_column :web_pages , :request , :binary
26
- add_column :web_vulns , :request , :binary
26
+ add_column :web_vulns , :request , :binary
27
27
add_column :web_vulns , :proof , :binary
28
-
28
+
29
29
WebPage . find ( :all ) . each { |r | r . body = r . body_text ; r . save! }
30
30
WebPage . find ( :all ) . each { |r | r . request = r . request_text ; r . save! }
31
31
WebVuln . find ( :all ) . each { |r | r . proof = r . proof_text ; r . save! }
32
32
WebVuln . find ( :all ) . each { |r | r . request = r . request_text ; r . save! }
33
-
33
+
34
34
remove_column :web_pages , :body_text
35
35
remove_column :web_pages , :request_text
36
36
remove_column :web_vulns , :request_text
@@ -43,21 +43,21 @@ def self.down
43
43
rename_column :web_pages , :request , :request_binary
44
44
rename_column :web_vulns , :request , :request_binary
45
45
rename_column :web_vulns , :proof , :proof_binary
46
-
46
+
47
47
add_column :web_pages , :body , :text
48
48
add_column :web_pages , :request , :text
49
49
add_column :web_vulns , :request , :text
50
50
add_column :web_vulns , :proof , :text
51
-
51
+
52
52
WebPage . find ( :all ) . each { |r | r . body = bfilter ( r . body_binary ) ; r . save! }
53
53
WebPage . find ( :all ) . each { |r | r . request = bfilter ( r . request_binary ) ; r . save! }
54
54
WebVuln . find ( :all ) . each { |r | r . proof = bfilter ( r . proof_binary ) ; r . save! }
55
55
WebVuln . find ( :all ) . each { |r | r . request = bfilter ( r . request_binary ) ; r . save! }
56
-
56
+
57
57
remove_column :web_pages , :body_binary
58
58
remove_column :web_pages , :request_binary
59
59
remove_column :web_vulns , :request_binary
60
60
remove_column :web_vulns , :proof_binary
61
-
61
+
62
62
end
63
63
end
0 commit comments